Javascript .filter()函数接受函数以外的东西?

时间:2016-03-26 04:05:47

标签: javascript

我找到了一个使用.filter()函数的人的例子,但没有将函数作为参数传递给它。我很困惑这是如何工作的,这是代码的一个例子:

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]

我很困惑因为我认为过滤器必须将函数作为参数,而是将“int”与“int%2 === 0”进行比较。

这是怎么回事?为什么“int”不必声明,为什么过滤器可以接受不是函数的东西?

谢谢!

2 个答案:

答案 0 :(得分:2)

示例的参数是一个函数,箭头函数: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions

它基本上是用于声明返回第一个语句的函数的简写语法;

答案 1 :(得分:0)

这是使用"胖箭头定义的功能"符号(=>)。它也被称为lambda,在ES6中是新的。