हैलो दोस्तों मेरे पास दो सरणियाँ हैं: array1 और array2। समस्या की व्याख्या करना थोड़ा जटिल है

var array1 = [39, "*", 62, "*", "*", 33.09,"*",56];
var array2 = [55, 6, 28, 32, 66, 58,15,56];

मैं एक सरणी 3 चाहता हूं जो सरणी 1 और सरणी 2 में अनुक्रमणिका की तुलना करता है और परिणाम को सरणी 3 पर भेजता है, इसलिए मेरा सरणी 3 इस तरह दिखना चाहिए

var array3 = [55,28,58,56]

मैंने कई उपाय आजमाए लेकिन मैं असफल रहा। आपकी मदद के लिए धन्यवाद, और मेरे नौसिखिया प्रश्न के लिए खेद है - मैं सीखने की कोशिश कर रहा हूं।

-5
Reactive lance 27 मार्च 2018, 13:04

3 जवाब

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

पहली बात यह है कि आपको नौसिखिया होने के लिए माफी माँगने की ज़रूरत नहीं है, हम सभी अपने करियर में किसी न किसी मोड़ पर नौसिखिया थे और हम अभी भी हर रोज कुछ नया सीखते हैं

दूसरा आपको दूसरी सरणी पर फ़िल्टर का उपयोग करने की आवश्यकता है और आपके द्वारा फ़िल्टर किए गए इंडेक्स के आधार पर एक नई सरणी वापस करनी होगी

var array1 = [39, "*", 62, "*", "*", 33.09,"*",56];
var array2 = [55, 6, 28, 32, 66, 58,15,56];


var result = array2.filter(function(x, i) {
  return array1[i] !== '*';
});

console.log(result);
2
Abslen Char 27 मार्च 2018, 10:06
var array1 = [39, "*", 62, "*", "*", 33.09,"*",56];
var array2 = [55, 6, 28, 32, 66, 58,15,56];
var array3 = [];

for(var index=0;index< array1.length ;index++){
	if(array1[index] !== "*")	{
  	array3.push(array2[index]);
  }
}
console.log(array3);
1
Dipak chavda 27 मार्च 2018, 10:06

आप पहली सरणी की जांच कर सकते हैं और बिना किसी स्टार के उसी इंडेक्स पर दूसरी एकमात्र आइटम से वापस आ सकते हैं।

var array1 = [39, "*", 62, "*", "*", 33.09, "*", 56],
    array2 = [55, 6, 28, 32, 66, 58, 15, 56],
    result = array2.filter((a, i) => array1[i] !== '*');
    
console.log(result);
2
Nina Scholz 27 मार्च 2018, 10:06