多变量 Javascript map() 回调

Multiple Variables Javascript map() callback

我正在阅读有关 es2015 的一些资料,在尝试一些有关箭头语法的示例时遇到了这段代码:

var odds = evens.map(v => v + 1);//I understand
var nums = evens.map((v,i) => v + i);//I don't understand

evens 初始化为 [0,2,4,6] 我从 odds 得到 [1,3,5,7],我明白了。

但是我不明白第二个表达式的结果[0,3,6,9]。本质上,我不理解在第二个示例中为变量 i 分配了什么值。任何人都可以阐明这一点吗?

Array.prototype.map 函数,将调用传递给它的三个参数的函数,如here

  • 当前元素
  • 当前元素的索引和
  • 实际数组本身

因此,在您的例子中,v 是当前元素,i 是数组中元素的索引。

evens[0, 2, 4, 6]初始化时,它只是添加具有相应索引的元素和returns一个新数组。