JavaScript数组#映射:索引参数
JavaScript Array#map: index argument
我的问题是关于JavaScript中数组的map
方法。
您可以向它传递一个函数,该函数接受第二个参数,即正在处理的数组的当前元素的索引,但是。。。目的是什么?当你做的时候会发生什么,不做的时候有什么区别?
您将使用此功能做什么?
当前项的索引总是传递给回调函数,如果不在函数中声明,唯一的区别是不能按名称访问它。
示例:
[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]
以下是对map
函数的描述:
arr.map(callback[, thisArg])
callback
函数,该函数生成新数组的一个元素,采用三个参数:
currentValue
数组中正在处理的当前元素。
index
数组中正在处理的当前元素的索引。
array
阵列映射被调用。
map函数将回调函数作为参数(而不是索引作为参数,正如编辑前问题中最初所述)。回调函数有一个索引作为参数-回调是自动调用的,所以您自己不提供索引。如果只需要当前值,则可以省略其他参数。
相关文章:
- Javascript 异常 “参数名称: 索引” 使用 jquery
- 如何避免在将索引作为函数的参数发送时引用for循环中的最后一个索引
- 在 javascript 中将数组索引作为参数传递
- 将参数转换为数组,但无法访问单个索引
- 参数“索引控制器”不是一个函数,未定义
- 动态递增 Javascript 函数参数名称的索引
- 在 javascript 中将参数作为键索引传递
- 如何在Three.js上使用额外的参数作为z索引
- 传递给.attr()的函数的索引和值参数
- AJAX调用中缺少POST参数会导致PHP脚本中出现未定义的索引警告
- Javascript 什么是参数中的“索引”
- 通过Javascript、How将Dropdownlist索引作为参数发送给WS
- JavaScript数组#映射:索引参数
- 如何获取行索引并将其作为参数发送给javascript函数
- 对具有多个值的查询字符串参数使用索引
- 嵌入参数与索引页
- struts2形式绑定参数到集合而不使用索引
- 如何在Javascript中设置. foreach循环中的值和索引参数?
- 索引页排序集合的附加参数
- 如何在asp.net中的DataViewGrid行上创建一个以行索引为参数的onclick处理程序