JavaScript Array#map:索引参数

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (10)

我的问题是关于mapJavaScript中数组的方法。

你可以传递一个函数,该函数接受第二个参数,即正在处理的数组的当前元素的索引,但是......目的是什么?当你做这件事时会发生什么,当你不这样做时有什么不同?

你会使用这个功能来做什么?

提问于
用户回答回答于

当前项目的索引总是传递给回调函数,如果您不在函数中声明它,唯一的区别是您无法通过名称访问它。

例:

[1,2,3].map(function(o, i){
    console.log(i);
    return 0;
});

[1,2,3].map(function(o){
    console.log(arguments[1]); // it's still there
    return 0;
});

输出:

0
1
2
0
1
2

演示:http : //jsfiddle.net/Guffa/k4x5vfzj/

用户回答回答于

有时元素的索引很重要。例如,该映射用0替换每个第二个元素:

var a = [1, 2, 3, 4, 5, 6];
var b = a.map(function(el, index) {
    return index % 2 ? 0 : el;
});
console.log(b);

输出:

[1, 0, 3, 0, 5, 0]

扫码关注云+社区