多变量 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一个新数组。
我正在阅读有关 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一个新数组。