Il metodo indexOf in JavaScript restituisce la posizione di partenza di un elemento all’interno di un array o di una stringa.

La sintassi di questo metodo è la seguente: nomeArray.indexOf(element)

Dove element è dunque l’elemento di cui si vuole conoscere la posizione.

Così come con il metodo includes, anche in questo caso, opzionalmente si può specificare la posizione dalla quale iniziare, aggiungendo un secondo parametro come argomento di indexOf.

nomeArray.indexOf(element, start).

Il metodo restituisce un valore numerico che corrisponde alla posizione dell’elemento nell’array o nella stringa.

Banner Pubblicitario

indexOf JavaScript – primo esempio

Conosciamo la posizione di un elemento in un array utilizzando il metodo indexOf().

Supponiamo dunque di avere il seguente array:

var oggettiScolastici = ['gomma', 'quaderno', 'matita'];

Applichiamo quindi il metodo indexOf per conoscere, ad esempio, la posizione dell’elemento quaderno.

var risultato = oggettiScolastici.indexOf('quaderno');
console.log(risultato);

Nella console del browser visualizzerò il valore 1 che corrisponde alla posizione dell’elemento.

indexOf JavaScript – secondo esempio

Visualizzare tutti gli elementi di posizione pari di un array utilizzando il metodo indexOf.

Questo algoritmo si può risolvere anche in altri modi. Qui utilizzeremo il metodo indexOf per analizzare un altro campo di applicazione del seguente metodo.

Creiamo un array di numeri interi. Dopo, con un ciclo for, analizziamo la posizione di ciascun elemento, controllando se è un numero pari. Per farlo utilizziamo, come già visto negli esercizi precedenti, l’operatore modulo ( % ) e calcoliamo il resto della divisione del numero diviso 2.

Banner pubblicitario

Quindi solo se è pari visualizziamo il numero, per semplicità, nella console del browser.

Ecco dunque il codice di esempio del metodo indexOf di JavaScript:

var arrayNumeri = [6,12,34,67,89,98,5,2,7,13];
console.log(arrayNumeri);

for (var i = 0; i < arrayNumeri.length; i++) {

  if (arrayNumeri.indexOf(arrayNumeri[i]) % 2 == 0){
    console.log(arrayNumeri[i]);
  }
}

Ricoridamo inoltre che lo stesso algoritmo si poteva risolvere semplicemente in questo modo:

for (var i = 0; i < arrayNumeri.length; i++) {

  if (arrayNumeri[i] % 2 == 0){
    console.log(arrayNumeri[i]);
  }
}

In questa lezione abbiamo affrontato due semplici esempi di utilizzo del metodo indexOf di JavaScript, nelle prossime lezioni proporrò altri esempi.

Alcuni link utili

Indice tutorial JavaScript

Introduzione al tutorial JavaScript

Il linguaggio JavaScript

Come utilizzare JavaScript alert

Utilizzare JavaScript prompt

Variabili in JavaScript

Gioco indovina numero in JavaScript

Gioco della morra cinese in JavaScript

Semplice quiz utilizzando gli array

Come realizzare il gioco dei dadi online