Javascript-matrixfilter ()

De JavaScript Array filter () - methode retourneert een nieuwe array met alle elementen die de test doorstaan, gedefinieerd door de gegeven functie.

De syntaxis van de filter()methode is:

 arr.filter(callback(element), thisArg)

Hier is arr een array.

filter () Parameters

De filter()methode omvat:

  • callback - De testfunctie die op elk array-element moet worden uitgevoerd; geeft terug trueals het element de test doorstaat, anders false. Het duurt:
    • element - Het huidige element dat wordt doorgegeven vanuit de array.
  • thisArg (optioneel) - De waarde die moet worden gebruikt als thisbij het uitvoeren van callback. Standaard is het undefined.

Retourwaarde van filter ()

  • Retourneert een nieuwe array met alleen de elementen die de test hebben doorstaan.

Opmerkingen :

  • filter() verandert de originele array niet.
  • filter()wordt niet uitgevoerd callbackvoor matrixelementen zonder waarden.

Voorbeeld 1: waarden uit Array filteren

 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 )

Uitvoer

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

Hier worden alle getallen kleiner dan of gelijk aan 2000 en alle niet-numerieke waarden uitgefilterd.

Voorbeeld 2: zoeken 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' )

Uitvoer

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

Hier worden element en query beide geconverteerd naar kleine letters, en de indexOf () - methode wordt gebruikt om te controleren of de query aanwezig is in het element. De elementen die deze test niet doorstaan, worden uitgefilterd.

Aanbevolen literatuur: JavaScript-matrixkaart ()

Interessante artikelen...