【发布时间】:2016-03-24 12:32:03
【问题描述】:
根据MDN link,find() 方法接受一个回调函数,该函数可以接受三个参数:当前数组元素、当前数组元素的索引和调用该方法的数组。
所以:
var r = [2, 9, 11]; console.log(r.find(function(e, i, r) {
if (e % 2 === 0)
return e; }))
如我所料,返回 2。
但是:
var r = [2, 9, 11];
console.log(r.find(function(e, i, r) {
if (e % 2 === 0)
return i;
}))
返回未定义(当我期望为 0 时),
和
var r = [2, 9, 11];
console.log(r.find(function(e, i, r) {
if (e % 2 === 0)
return r;
}))
返回 2(当我期望 [2, 9, 11] 时)。
谁能解释一下我不理解的地方?
【问题讨论】:
标签: javascript arrays find