我可以将其他参数传递给JavaScript map()回调函数吗?

前端之家收集整理的这篇文章主要介绍了我可以将其他参数传递给JavaScript map()回调函数吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Pass an extra argument to a callback function4个
我有一个数组,现在我想在数组中的每个元素上执行一个函数.

我正在尝试使用map()函数.问题是,我传递给map()的回调函数有自己的参数(不是元素,索引,数组).

我可以将参数传递给这样的回调函数吗?怎么样?

解决方法

我可以想到两种不同的方式:

使用thisArg将选项对象设置为回调中的this值:

var numbers = '1,2,3,4,5,6,7,8,9,10'.split(',');

function callback(element) {
  return parseInt(element) + this.add;
};

var mapped = numbers.map(callback,{
  add: 10
});

console.log(mapped);

使用.bind()设置一些参数:

var numbers = '1,');

function callback(add,element) {
  return parseInt(element) + add;
};

var mapped = numbers.map(callback.bind(null,10));

console.log(mapped);

猜你在找的JavaScript相关文章