2016-09-25 77 views
-3

函数式编程方法的第三个参数考虑下面的例子:理解像滤波器

arr.filter(function(el, index, self) { 

    return index === self.indexOf(el); 
}); 

如何字self代表arr本身? 它可以是其他类似array

+1

在发布此问题之前,您是否尝试*使用其他名称,比如'array'? – 2016-09-25 16:14:12

+0

@squint不,但我读过一些文件寻求答案 –

+1

那么它会不会更快,更容易先尝试它? – JJJ

回答

2

自我不是JavaScript中的关键字。函数参数是(element,index,array),在你的例子中命名第三个参数self结果。无论你想怎样,你都可以使用自己。

+0

但是它如何表示数组'arr'? –

+1

功能足迹就是这样。您正在向过滤器函数传递回调函数。然后过滤函数遍历数组,对于每个调用具有三个参数的回调的元素,第一个元素是当前元素,第二个元素是当前元素索引,第三个是数组本身。有关更多信息,请参阅https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/filter – NikxDa