Μέθοδος indexOf

Η μέθοδος indexOf πραγματοποιεί αναζήτηση στοιχείου σε πίνακα. Στην πρώτη παράμετρο ορίζουμε το στοιχείο προς αναζήτηση. Η μέθοδος επιστρέφει τον αριθμό του πρώτου στοιχείου που βρέθηκε, ή -1, εάν δεν υπάρχει τέτοιο στοιχείο. Η δεύτερη προαιρετική παράμετρος της μεθόδου ορίζει τη θέση από την οποία πρέπει να ξεκινήσει η αναζήτηση.

Σύνταξη

javascriptπίνακας.indexOf(στοιχείο, [από πού να ξεκινήσει]);

Παράδειγμα

Ας βρούμε τη θέση του πρώτου 3 στον πίνακα:

javascriptlet arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);

console.log(res);

Αποτέλεσμα εκτέλεσης κώδικα:

javascript2

Παράδειγμα

Ας υποθέσουμε τώρα ότι το στοιχείο που ελέγχεται δεν υπάρχει στον πίνακα:

javascriptlet arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);

console.log(res);

Αποτέλεσμα εκτέλεσης κώδικα:

javascript-1

Παράδειγμα

Ας ξεκινήσουμε την αναζήτηση από μια συγκεκριμένη θέση:

javascriptlet arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);

console.log(res);

Αποτέλεσμα εκτέλεσης κώδικα:

javascript5

Συχνό λάθος

Μερικές φορές η μέθοδος χρησιμοποιείται για έλεγχο ύπαρξης στοιχείου σε πίνακα. Σε αυτήν την περίπτωση είναι εύκολο να γίνει λάθος, εάν ο έλεγχος γίνει ως εξής:

javascriptif (arr.indexOf(3)) {
  console.log(true);
} else {
  console.log(false);
}

Αυτός ο έλεγχος θα λειτουργεί για όλες τις θέσεις, εκτός από τη μηδενική - αφού αυτή ερμηνεύεται ως false.

Σωστά, ο έλεγχος ύπαρξης στοιχείου πρέπει να γίνεται ως εξής:

javascriptif (arr.indexOf(3) !== -1) {
  console.log(true);
} else {
  console.log(false);
}

Δείτε επίσης

  • μέθοδος includes,
    που ελέγχει την ύπαρξη στοιχείου σε πίνακα
  • μέθοδος lastIndexOf,
    που αναζητά στοιχεία από το τέλος
  • μέθοδος at,
    που επιστρέφει στοιχείο πίνακα βάσει του δείκτη του
  • μέθοδος match,
    που βρίσκει ταιριάσματα σε συμβολοσειρά
  • μέθοδος search,
    που πραγματοποιεί αναζήτηση