Array.findIndex() मेथड
findIndex() ऐरे में पहले एलिमेंट का इंडेक्स लौटाता है जो टेस्ट फंक्शन को पास करता है। कोई एलिमेंट पास न करे तो -1 लौटाता है।
सिंटैक्स
array.findIndex(callback(element, index, array), thisArg)
उदाहरण
<html> <body> <p id="demo"></p> <script>
var wages = [6000, 10000, 17000, 28000, 30000];
function checkSal(wage) {
return wage >= 15000;
}
var index = wages.findIndex(checkSal);
document.getElementById("demo").innerHTML = index;
</script> </body> </html>
आउटपुट
2
व्याख्या
| इंडेक्स | वैल्यू | >= 15000? | परिणाम |
| 0 | 6000 | false | जारी |
| 1 | 10000 | false | जारी |
| 2 | 17000 | true | रुकें, 2 लौटाएं |
| 3 | 28000 | true | चेक नहीं (पहला मिल गया) |
| 4 | 30000 | true | चेक नहीं |
आधुनिक सिंटैक्स
<script>
var wages = [6000, 10000, 17000, 28000, 30000];
// एरो फंक्शन
var index = wages.findIndex(w => w >= 15000); // 2
// ऑब्जेक्ट्स में खोज
var users = [
{name: "अमित", age: 20},
{name: "सुमन", age: 25},
{name: "रोहन", age: 17}
];
var firstAdult = users.findIndex(u => u.age >= 18); // 0
var firstMinor = users.findIndex(u => u.age < 18); // 2
</script>
findIndex() vs indexOf() vs find()
| मेथड | लौटाता है | तुलना | कॉलबैक सपोर्ट |
indexOf() | इंडेक्स | === (स्ट्रिक्ट) | नहीं |
findIndex() | इंडेक्स | कॉलबैक फंक्शन | हाँ |
find() | वैल्यू | कॉलबैक फंक्शन | हाँ |
includes() | बूलियन | === (स्ट्रिक्ट) | नहीं |
महत्वपूर्ण नोट्स
- पहला मैच मिलते ही रुक जाता है (शॉर्ट-सर्किट)
- खाली ऐरे पर
-1 लौटाता है
- होल्स (खाली स्लॉट्स) को छोड़ देता है
thisArg कॉलबैक में this सेट करता है