Come cercare attraverso gli array in JavaScript usando i metodi Array?

Come cercare attraverso gli array in JavaScript usando i metodi Array?
Quando lavori con i linguaggi di programmazione, ti ritrovi spesso a lavorare con vari tipi di dati inseriti all'interno delle variabili dell'array. JavaScript non è diverso quando si tratta di utilizzare i dati negli array. Il modo banale di cercare i dati all'interno degli array è utilizzando una sorta di loop, soprattutto il per ciclo continuo. Tuttavia, in JavaScript, ci sono vari metodi che facilitano il processo di ricerca attraverso un array.

Esamineremo alcuni metodi che ci aiutano a cercare un elemento all'interno di un array. Questi metodi sono:

  • Include ()
  • indice di()
  • Trovare()
  • filtro()

Per testare tutti i metodi in questo tutorial, creeremo un array contenente vari elementi:

Array = ["Google", 13, 66, "Questa è una frase lunga", "tavolo e sedia"];

IL .Metodo include ()

Quando vuoi passare attraverso un array solo per rispondere alla domanda “Questo elemento esiste in questo array o no?"Usi il .Metodo include (). Il modo in cui il .Include () Il metodo funziona è che cerca ogni elemento all'interno dell'array per una partita e se trova una corrispondenza, ritorna VERO altrimenti restituirà falso.

Sintassi di .Metodo include ()

arr.Include (Elem);

Valore di ritorno: Un valore booleano

Esempio
Ora che abbiamo il nostro array:

Array = ["Google", 13, 66, "Questa è una frase lunga", "tavolo e sedia"];

Proviamo a scoprire se c'è un elemento "Google" presente in esso, utilizzando la seguente riga di codice:

console.registro (array.Include ("Google"));

L'output è:

Ritorna VERO, significa che l'elemento che stavamo cercando è davvero presente nell'array.

È ora di verificare se il numero 23 è presente all'interno del nostro array o no. Possiamo cercare 23 usando il comando:

console.registro (arr.Include (23));

Otteniamo l'output:

Restituiva falso, il che significa che non esiste un tale elemento presente all'interno dell'array.

IL .Metodo IndexOf ()

IL indice di() Il metodo funziona in modo simile a Include () metodo ma una sottile differenza tra queste due funzioni è che il indice di() Il metodo cerca l'array per l'elemento desiderato e restituisce il valore dell'indice invece di restituire solo un valore booleano. Se non esiste un elemento del genere presente all'interno dell'array, restituisce il valore dell'indice di -1.

Sintassi di .Metodo IndexOf ()
La sintassi del .indice di() Il metodo è abbastanza semplice. È:

arr.INDICEF (ELEM);

Valore di ritorno: Indice dell'elemento all'interno dell'array.

Esempio
Prendendo l'array dichiarato:

Array = ["Google", 13, 66, "Questa è una frase lunga", "tavolo e sedia"];

Proveremo questa funzione cercando di trovare l'elemento "Tabella e sedia" con il seguente comando:

console.registro (array.indicef ("tavolo e sedia"));

L'output è:

L'output è 4, poiché l'elemento "Tabella e sedia" era il quinto elemento all'interno dell'array e sappiamo che il primo elemento all'interno dell'array inizia dall'indice "0", quindi è per questo che il 5 ° elemento ha l'indice 4.

Facciamo un altro esempio in cui cercheremo di trovare l'indice dell'elemento "Yahoo" all'interno del nostro array.

console.registro (array.indicef ("yahoo"));

Otteniamo il seguente output:

Come possiamo vedere l'output è -1, il che significa che l'elemento "yahoo" non è presente all'interno del nostro array.

IL .Find () Metodo

IL .Trovare() Il metodo intraprende una funzione di callback e iterate sull'intero array per trovare e restituire il primo elemento che soddisfa una determinata condizione fornita nella funzione di callback.

Sintassi di .Find () Metodo
La sintassi di .Trovare() La funzione è:

vettore.Trova (funzione (elemento [, indice [, array]] questo.arg);

Questo metodo ha parecchi parametri:

  • funzione: La funzione di callback che verrà controllata contro ogni elemento dell'array.
  • Questo: parametro predefinito - Questo argomento del metodo

La funzione di callback richiede ulteriormente tre argomenti:

  • elemento: Il singolo elemento dell'array durante l'iterazione, che viene abbinato a una determinata condizione nella funzione
  • indice: Indice dell'elemento corrente
  • vettore: dell'elemento corrente

Valore di ritorno: L'elemento che passa altrimenti la condizione non definito.

Esempio
Proviamo a trovare un elemento all'interno dell'array che ha una lunghezza di più di 10 usando il seguente comando:

console.registro (array.Trova (Elem => Elem.lunghezza> 10));

Otteniamo il seguente output:

Il primo elemento che ha una lunghezza più di 10 è stato stampato anche se c'era ancora un altro elemento all'interno dell'array che aveva una lunghezza di più di 10.

Facciamo questa cosa, cambiando la condizione da più di 10 a più di 30, sappiamo che non abbiamo alcun elemento all'interno del nostro array che ha una lunghezza di più di 30.

Usa il seguente comando:

console.registro (array.Trova (Elem => Elem.lunghezza> 30));

L'output che otteniamo è:

Come già sapevamo, non avevamo alcun elemento con una lunghezza più di 30, quindi la funzione ci è tornata con "indefinita".

IL .Metodo Filtro ()

Come siamo consapevoli ora che il .Trovare() Il metodo trova solo il primo elemento che soddisfa una determinata condizione e quindi smette di eseguire. Ma il più delle volte, non lo vuoi, vuoi un elenco di tutti gli elementi che soddisfano quella condizione specifica. Ecco perché usiamo il .filtro() metodo.

IL .filtro() Il metodo cerca l'array e restituisce un array di tutti gli elementi che soddisfano una determinata condizione.

Sintassi del metodo Filter ()
La sintassi del metodo Filter () è abbastanza simile a .Find () Metodo. È come:

vettore.Trova (funzione (elemento [, indice [, array]] questo.arg);

Spieghiamo molto brevemente i suoi parametri.

  • funzione: La funzione di callback
  • Questo: parametro predefinito - Questo argomento del metodo

La funzione di callback richiede ulteriormente tre argomenti:

  • elemento: Il singolo elemento dell'array durante l'iterazione, che viene abbinato a una determinata condizione nella funzione
  • indice: Indice dell'elemento corrente
  • vettore: Array di elementi attuali

Valore di ritorno: Un array contenente tutti gli elementi che hanno superato la condizione, altrimenti un array vuoto.

Esempio
Prendiamo l'esempio dal metodo precedente, che è, per controllare l'array per gli elementi che hanno una lunghezza di più di 10 usando il comando:

console.registro (array.Filtro ((Elem) => Elem.lunghezza> 10));

L'output del comando è come:

Come puoi vedere, questo metodo ha restituito una serie di tutti gli elementi che hanno soddisfatto la nostra condizione. Ma cosa succede se, proprio come gli esempi nel metodo precedente, vogliamo cercare gli elementi con una lunghezza di più di 30?. Bene, lo facciamo usando la seguente affermazione:

console.registro (array.Filtro ((Elem) => Elem.lunghezza> 30));

L'output che otteniamo è:

Dato che non c'era nemmeno un singolo elemento all'interno dell'array che aveva una lunghezza di più di 30, ecco perché questo metodo ci ha restituito un array vuoto.

Quindi, alla fine, ora siamo a conoscenza di alcune risposte dopo aver usato questi metodi:

  • Vuoi sapere se un elemento è presente all'interno di un array?
    Usa il .Include () metodo
  • Vuoi trovare e ottenere l'indice di un elemento specifico all'interno dell'array?
    Usa il .indice di() metodo
  • Vuoi sapere quale elemento o elementi soddisfano una condizione specifica?
    Usa il .Trovare() E .filtro() metodi

Conclusione

Affrontare i dati archiviati all'interno di array è una parte cruciale e integrale di qualsiasi linguaggio di programmazione, specialmente quando si lavora con dati strutturati all'interno di array. Possiamo cercare attraverso un array utilizzando i quattro metodi chiave forniti all'interno di JavaScript. Questi metodi sono in particolare Include (), find (), indexOf (), filtro (). Abbiamo imparato la sintassi di questi metodi, i loro valori di ritorno insieme ai loro esempi.