Μέθοδος indexOf
Η μέθοδος indexOf πραγματοποιεί αναζήτηση στοιχείου
σε πίνακα. Στην πρώτη παράμετρο
ορίζουμε το στοιχείο προς αναζήτηση.
Η μέθοδος επιστρέφει τον αριθμό του πρώτου στοιχείου που βρέθηκε,
ή -1, εάν δεν υπάρχει τέτοιο στοιχείο.
Η δεύτερη προαιρετική παράμετρος της μεθόδου
ορίζει τη θέση από την οποία πρέπει
να ξεκινήσει η αναζήτηση.
Σύνταξη
πίνακας.indexOf(στοιχείο, [από πού να ξεκινήσει]);
Παράδειγμα
Ας βρούμε τη θέση του πρώτου 3 στον πίνακα:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Αποτέλεσμα εκτέλεσης κώδικα:
2
Παράδειγμα
Ας υποθέσουμε τώρα ότι το στοιχείο που ελέγχεται δεν υπάρχει στον πίνακα:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Αποτέλεσμα εκτέλεσης κώδικα:
-1
Παράδειγμα
Ας ξεκινήσουμε την αναζήτηση από μια συγκεκριμένη θέση:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Αποτέλεσμα εκτέλεσης κώδικα:
5
Συχνό λάθος
Μερικές φορές η μέθοδος χρησιμοποιείται για έλεγχο ύπαρξης στοιχείου σε πίνακα. Σε αυτήν την περίπτωση είναι εύκολο να γίνει λάθος, εάν ο έλεγχος γίνει ως εξής:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
Αυτός ο έλεγχος θα λειτουργεί για
όλες τις θέσεις, εκτός από τη μηδενική - αφού
αυτή ερμηνεύεται ως false.
Σωστά, ο έλεγχος ύπαρξης στοιχείου πρέπει να γίνεται ως εξής:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Δείτε επίσης
-
μέθοδος
includes,
που ελέγχει την ύπαρξη στοιχείου σε πίνακα -
μέθοδος
lastIndexOf,
που αναζητά στοιχεία από το τέλος -
μέθοδος
at,
που επιστρέφει στοιχείο πίνακα βάσει του δείκτη του -
μέθοδος
match,
που βρίσκει ταιριάσματα σε συμβολοσειρά -
μέθοδος
search,
που πραγματοποιεί αναζήτηση