我正在阅读关于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]
我得到[1,3,5,7]
的odds
,我明白了.
但是我不明白第二个表达式的结果[0,3,6,9]
.基本上我不理解i
在第二个例子中为变量分配了什么值.任何人都可以对此有所了解吗?
Array.prototype.map
功能,将调用传递给它三个参数的功能,看到这里
当前元素
当前元素的索引和
实际的数组本身
因此,在您的情况下,v
是当前元素并且i
是数组中元素的索引.
当evens
与初始化[0, 2, 4, 6]
,它只是增加了该元件与与其对应的索引,并返回一个新的数组.