参见英文答案 >
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);