मान लीजिए हमारे पास नंबर्स का एक ऐरे है जैसे:
const arr = [1,2,3,4,1,7,8,9,1];
मान लीजिए हम ऐरे में सबसे छोटे एलिमेंट का इंडेक्स ढूंढना चाहते हैं यानी ऊपर 1।
इसके लिए, हम बस उपयोग कर सकते हैं:
const min = Math.min.apply(Math, arr); const ind = arr.indexOf(min);
उपरोक्त कोड ind को 0 पर सेट करेगा, जो वास्तव में सही है।
लेकिन हम जो हासिल करना चाहते हैं वह यह है कि अगर ऐरे में एक से अधिक न्यूनतम एलिमेंट्स हैं, जैसे उपरोक्त ऐरे में (तीन 1s), तो हमें न्यूनतम एलिमेंट्स के सभी इंडेक्स वाला एक ऐरे रिटर्न करना चाहिए।
तो, इस ऐरे के लिए, हमारा वांछित आउटपुट निम्नलिखित है यानी तीन 1s इंडेक्स 0, 4, और 8 पर मिले:
const ind = [0, 4, 8]
हमें एक JavaScript फंक्शन लिखना है जो नंबर्स का एक ऐरे लेता है और ऐरे में न्यूनतम एलिमेंट्स के सभी इंडेक्स का ऐरे रिटर्न करता है।
उदाहरण
निम्नलिखिक कोड है:
const arr = [1,2,3,4,1,7,8,9,1];
const minArray = arr => {
const min = arr.reduce((acc, val) => Math.min(acc, val), Infinity);
const res = [];
for(let i = 0; i < arr.length; i++){
if(arr[i] !== min){
continue;
};
res.push(i);
};
return res;
};
console.log(minArray(arr));
आउटपुट
यह कंसोल में निम्नलिखिक आउटपुट देगा:
[ 0, 4, 8 ]