Javascript Array Filter ()

Die JavaScript Array filter () -Methode gibt ein neues Array mit allen Elementen zurück, die den durch die angegebene Funktion definierten Test bestehen.

Die Syntax der filter()Methode lautet:

 arr.filter(callback(element), thisArg)

Hier ist arr ein Array.

filter () Parameter

Die filter()Methode umfasst:

  • Rückruf - Die Testfunktion, die für jedes Array-Element ausgeführt werden soll. Gibt zurück, truewenn das Element den Test besteht false. Es dauert:
    • Element - Das aktuelle Element, das vom Array übergeben wird.
  • thisArg (optional) - Der Wert, der thisbeim Ausführen eines Rückrufs verwendet werden soll. Standardmäßig ist es undefined.

Rückgabewert von filter ()

  • Gibt ein neues Array mit nur den Elementen zurück, die den Test bestanden haben.

Anmerkungen :

  • filter() ändert das ursprüngliche Array nicht.
  • filter()wird nicht callbackfür Array-Elemente ohne Werte ausgeführt.

Beispiel 1: Herausfiltern von Werten aus dem 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 )

Ausgabe

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

Hier werden alle Zahlen kleiner oder gleich 2000 und alle nicht numerischen Werte herausgefiltert.

Beispiel 2: Suchen im 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' )

Ausgabe

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

Hier werden sowohl Element als auch Abfrage in Kleinbuchstaben konvertiert, und die indexOf () -Methode wird verwendet, um zu überprüfen, ob eine Abfrage im Element vorhanden ist. Die Elemente, die diesen Test nicht bestehen, werden herausgefiltert.

Empfohlene Lektüre: JavaScript Array map ()

Interessante Beiträge...