मेरे पास बहुत सारे के साथ एक कोड है यदि शर्तें। तो, मैं इस कोड को फ़ोरैच लूप में कनवर्ट करना चाहता हूं लेकिन किसी भी तरह से यह काम नहीं कर रहा है।

if (str_array[0] === "1" || str_array[1] === "1" || str_array[2] === "1" || str_array[3] === "1" || str_array[4] === "1" || str_array[5] === "1" || str_array[6] === "1" || str_array[7] === "1" || str_array[8] === "1" || str_array[9] === "1" || str_array[10] === "1" || str_array[11] === "1") {
    column_data[0].hidden = false;
}
if (str_array[0] === "2" || str_array[1] === "2" || str_array[2] === "2" || str_array[3] === "2" || str_array[4] === "2" || str_array[5] === "2" || str_array[6] === "2" || str_array[7] === "2" || str_array[8] === "2" || str_array[9] === "2" || str_array[10] === "2" || str_array[11] === "2") {
    column_data[1].hidden = false;
}

मेरे पास कुल 12 हैं यदि कथन या शर्त के साथ हैं।

for (var i = 1; i <= 12; i++) {
    console.log('"' + i + '"');
    if (str_array[0] === '"' + i + '"' || str_array[1] === '"' + i + '"' || str_array[2] === '"' + i + '"' || str_array[3] === '"' + i + '"' || str_array[4] === '"' + i + '"' || str_array[5] === '"' + i + '"' || str_array[6] === '"' + i + '"' || str_array[7] === '"' + i + '"' || str_array[8] === '"' + i + '"' || str_array[9] === '"' + i + '"' || str_array[10] === '"' + i + '"' || str_array[11] === '"' + i + '"') {
        console.log(i - 1);
        column_data[i - 1].hidden = false;
    }
}

लूप ठीक से निष्पादित हो रहा है और मुझे मूल्य मिल गया है। "1","2","3","4","5" आदि console.log('"'+i+'"'); में।

लेकिन किसी तरह यह काम नहीं कर रहा है। यह स्थिर कोड के साथ काम कर रहा है लेकिन जब मैं इसे लूप में डालता हूं तो यह काम नहीं कर रहा है। क्या लूप और स्टैटिक के लिए मुझे मिल रहे qoutes मानों में कोई अंतर है।

0
WebRence 8 मई 2018, 15:11

2 जवाब

सबसे बढ़िया उत्तर

आप निम्नलिखित कोशिश कर सकते हैं

for(var i=1;i<=12;i++) {

  if(str_array.includes(i.toString())) { // converting number to string
     column_data[i-1].hidden = false;
  }
}

संदर्भ के लिए, Array.includes

3
Nikhil Aggarwal 8 मई 2018, 15:17

आप str_array लंबाई के आधार पर एक और लूप चला सकते हैं

str_array.some( s => s == i ) //== will work fine for 1 == "1"

आखिरकार

for(var i=1;i<=12;i++)
{
   var flag = str_array.some( s => s == i ) ;
   if( flag ) 
   {
      column_data[i].hidden = false;
   }
}

यदि आप छिपी हुई संपत्ति के मूल्य को सही पर सेट करना चाहते हैं, यदि सभी मान सूचकांक के अनुसार नहीं हैं, तो सीधे छिपी हुई संपत्ति को ध्वज असाइन करें

for(var i=1;i<=12;i++)
{
    column_data[i].hidden = str_array.some( s => s == i );
}
1
gurvinder372 8 मई 2018, 15:15