JavaScript Array filter()

Definizione e uso

filter() Il metodo crea un array che contiene tutti gli elementi dell'array che superano il test (forniti come funzione).

Nota:filter() Non esegue la funzione sugli elementi dell'array senza valore.

Nota:filter() Non cambia l'array originale.

Esempio

Esempio 1

Restituisce un array composto da tutti i valori dell'array ages che sono 18 anni o più vecchi:

var ages = [32, 33, 16, 40];
function checkAdult(age) {
  return age >= 18;
}
function myFunction() {
  document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}

Prova tu stesso

Esempio 2

Restituisce un array composto da tutti i valori dell'array ages che sono maggiori o uguali a un numero specifico:

<p>Età minima: <input type="number" id="ageToCheck" value="18"></p>
<button onclick="myFunction()">Prova</button>
<p>Tutti gli anni superiori al minimo: <span id="demo"></span></p>
<script>
var ages = [32, 33, 12, 40];
function checkAdult(age) {
  return age >= document.getElementById("ageToCheck").value;
}
function myFunction() {
  document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}
</script>

Prova tu stesso

Sintassi

array.filter(function(currentValue, index, arr, thisValue)

Valore del parametro

Parametro Descrizione
function(currentValue, index, arr) Obbligatorio. Funzione eseguita per ogni elemento dell'array.

Parametro della funzione:

Parametro Descrizione
currentValue Obbligatorio. Valore dell'elemento corrente.
index Opzionale. Indice dell'array dell'elemento corrente.
arr Opzionale. Oggetto dell'array a cui appartiene l'elemento corrente.
thisValue

Opzionale. Valore da passare alla funzione come valore "this".

Se questo parametro è vuoto, il valore "undefined" viene passato come valore "this".

Dettagli tecnici

Valore di ritorno: Array che contiene tutti gli elementi dell'array che superano il test. Se nessun elemento supera il test, viene restituito un array vuoto.
Versione JavaScript: ECMAScript 5

Supporto del browser

Tutti i browser supportano completamente filter() Metodo:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
Supporto 9.0 Supporto Supporto Supporto Supporto

Pagine correlate

Tutorial:Array JavaScript

Tutorial:Array Const JavaScript

Tutorial:Metodi degli array JavaScript

Tutorial:Ordinamento degli array JavaScript

Tutorial:Iterazione degli array JavaScript