Array.prototype.findIndex() मेथड एरे में दिए गए टेस्ट फंक्शन को संतुष्ट करने वाले पहले तत्व का इंडेक्स लौटाता है। यदि कोई तत्व टेस्ट पास नहीं करता तो -1 लौटाता है।
उदाहरण
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>
body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; padding: 20px; }
.findIndex { font-size: 20px; font-weight: 500; }
button { padding: 10px 20px; background: #fd7e14; color: white; border: none; border-radius: 4px; cursor: pointer; }
</style> </head> <body>
<h1>JavaScript Array.findIndex() उदाहरण</h1>
<div class="findIndex"></div>
<button class="findArr">शेर का इंडेक्स खोजें</button>
<h3>ऊपर दिए गए बटन पर क्लिक करके एरे में 'शेर' का इंडेक्स प्राप्त करें</h3>
<script>
function findLion(animal) {
return animal === "शेर";
}
const fillEle = document.querySelector(".findIndex");
const arr = ["गाय", "शेर", "बैल", "बाघ"];
fillEle.innerHTML = "एरे: " + arr.join(", ");
document.querySelector(".findArr").addEventListener("click", () => {
fillEle.innerHTML = "शेर का इंडेक्स: " + arr.findIndex(findLion);
});
</script> </body> </html>
आउटपुट
क्लिक करने पर: शेर का इंडेक्स: 1
सिंटैक्स
arr.findIndex(callback(element[, index[, array]])[, thisArg])
findIndex() vs indexOf() vs find()
| मेथड | लौटाता है | उपयोग |
|---|---|---|
findIndex() | इंडेक्स (संख्या) | शर्त-आधारित खोज |
indexOf() | इंडेक्स (संख्या) | सटीक मान खोज |
find() | तत्व मान | शर्त-आधारित मान प्राप्त करना |
व्यावहारिक उदाहरण
const users = [
{id: 1, name: "अमित", age: 25},
{id: 2, name: "सुमन", age: 30},
{id: 3, name: "राहुल", age: 25}
];
// पहली 30+ उम्र वाले का इंडेक्स
const idx = users.findIndex(u => u.age > 25); // 1
// नहीं मिलने पर -1
users.findIndex(u => u.age > 100); // -1
// ऑब्जेक्ट में खोज
const products = [
{name: "फोन", price: 50000},
{name: "लैपटॉप", price: 80000}
];
products.findIndex(p => p.price > 60000); // 1
प्रदर्शन नोट
findIndex पहले मैच पर रुक जाता है (शॉर्ट-सर्किट), इसलिए बड़े एरे के लिए filter + indexOf से तेज़ है।