cod*_*rer 1 javascript node.js
我正在玩JavaScript的数组原型图,我不明白为什么我得到以下值:
console.log(
[1,2,2,5,6].map(function(a,b){
return a+b;
})
); /*This returns [ 1, 3, 4, 8, 10 ]*/
Run Code Online (Sandbox Code Playgroud)
上述代码不应该返回[1,3,4,7,11]吗?
这是另一个代码片段,它显示数组中的元素是按顺序添加的,并且至少我相信是正确的.
console.log(
[1,2,3,4,5,6].map(function(a,b){
return a+b;
})
); /*[ 1, 3, 5, 7, 9, 11 ]*/
Run Code Online (Sandbox Code Playgroud)
这只是一个奇怪的问题,更多的是为什么第一段代码似乎.
这是因为map会将值作为第一个参数传递给您,将索引传递给第二个参数.所以,你要添加的是:1 + 0,2 + 1,2 + 2,5 + 3等.
您的a值是数组中的值:1,2,2,5,6
您的b值实际上是一个索引,而不是数组中的值:0,1,2,3,4