मान लीजिए कि हमारे पास इस तरह की संख्याओं की एक सरणी है -
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) में, तो हमें एक सरणी वापस करनी चाहिए जिसमें न्यूनतम तत्वों के सभी सूचकांक हों।
तो, इस सरणी के लिए, हमारा वांछित आउटपुट निम्नलिखित है यानी इंडेक्स 0, 4, और 8 में पाए जाने वाले तीन 1s -
const ind = [0, 4, 8]
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो संख्याओं की एक सरणी लेता है और सरणी में न्यूनतम तत्वों के सभी सूचकांकों की एक सरणी देता है।
उदाहरण
निम्नलिखित कोड है -
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 ]