Filtro array Javascript ()

Il metodo JavaScript Array filter () restituisce un nuovo array con tutti gli elementi che superano il test definito dalla funzione data.

La sintassi del filter()metodo è:

 arr.filter(callback(element), thisArg)

Qui, arr è un array.

filter () Parametri

Il filter()metodo comprende:

  • callback - La funzione di test da eseguire su ogni elemento dell'array; restituisce truese l'elemento supera il test, altrimenti false. Comprende:
    • elemento - L'elemento corrente passato dall'array.
  • thisArg (facoltativo) - Il valore da utilizzare come thisdurante l'esecuzione del callback. Per impostazione predefinita, lo è undefined.

Valore restituito dal filtro ()

  • Restituisce un nuovo array con solo gli elementi che hanno superato il test.

Note :

  • filter() non modifica l'array originale.
  • filter()non viene eseguito callbackper gli elementi della matrice senza valori.

Esempio 1: filtraggio dei valori da Array

 const prices = (1800, 2000, null, 3000, 5000, "Thousand", 500, 8000) function checkPrice(element) ( return element> 2000 && !Number.isNaN(element); ) let filteredPrices = prices.filter(checkPrice); console.log(filteredPrices); // ( 3000, 5000, 8000 ) // using arrow function let newPrices = prices.filter((price) => (price> 2000 && !Number.isNaN(price))); console.log(newPrices); // ( 3000, 5000, 8000 )

Produzione

 (3000, 5000, 8000) (3000, 5000, 8000)

Qui vengono filtrati tutti i numeri minori o uguali a 2000 e tutti i valori non numerici .

Esempio 2: ricerca in array

 const languages = ("JavaScript", "Python", "Ruby", "C", "C++", "Swift", "PHP", "Java"); function searchFor(arr, query) ( function condition(element) ( return element.toLowerCase().indexOf(query.toLowerCase()) !== -1; ) return arr.filter(condition); ) let newArr = searchFor(languages, "ja"); console.log(newArr); // ( 'JavaScript', 'Java' ) // using arrow function const searchArr = (arr, query) => arr.filter(element => element.toLowerCase().indexOf(query.toLowerCase()) !== -1); let newLanguages = searchArr(languages, "p"); console.log(newLanguages); // ( 'JavaScript', 'Python', 'PHP' )

Produzione

 ('JavaScript', 'Java') ('JavaScript', 'Python', 'PHP')

Qui, elemento e query vengono entrambi convertiti in minuscolo e il metodo indexOf () viene utilizzato per verificare se la query è presente all'interno dell'elemento. Gli elementi che non superano questo test vengono filtrati.

Letture consigliate: JavaScript Array map ()

Articoli interessanti...