2016-03-26 12 views
0

Ich habe ein Beispiel gefunden, bei dem jemand die Funktion .filter() benutzt, ohne eine Funktion als Parameter zu übergeben. Ich bin verwirrt, wie das funktioniert, hier ein Beispiel für den Code ist:Javascript .filter() Funktion akzeptiert andere Dinge als eine Funktion?

var integers = [1,2,3,4,5,6,7,8,9,10]; 
var even = integers.filter(int => int % 2 === 0); 
console.log(even); // [2,4,6,8,10] 

Ich bin verwirrt, weil ich dachte, dass Filter eine Funktion als Argument nehmen müssen, sondern stattdessen „int“ gegen „int Vergleich % 2 === 0 ".

Wie läuft das ab? Warum muss "int" nicht deklariert werden und warum kann man etwas akzeptieren, das keine Funktion ist?

Danke!

+2

das ist eine Funktion, eine fette Pfeilfunktion. Es ist neu in "ES6" ... es ist das gleiche wie 'function (int) {return int% 2 == 0;}'. 'int' ist der formale Parameter. – dandavis

+1

Es ist mit Pfeil-Funktion von ES6 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions –

Antwort

0

Dies ist eine Funktion, die mit der Schreibweise "Fettpfeil" (=>) definiert wird. Es wird auch Lambda genannt und ist neu in ES6.

Verwandte Themen