我需要将数组索引作为第二个参数传递给Javascript .map():
var arr1 = [25,50,75,90]
var arr2 = [1,2,3,4,5]
arr2.map(function(x){
console.log( arr1[index] * x );
});
如何在将.map()应用于arr2?
时迭代arr1谢谢!
答案 0 :(得分:0)
如果您需要的是这样的数组:
var arr3 = [25 * 1, 50 * 2, 75 * 3, 90 * 4, 100 * 5];
您可以使用以下内容:
var arr1 = [25,50,75,90,100];
var arr2 = [1,2,3,4,5];
var arr3 = arr2.map(function(x, idx){ return x * arr1[idx]; });
请注意,两个数组的长度应相同。
答案 1 :(得分:0)
map()
函数提供了一个回调,它有三个参数:currentValue
,index
,array
答案 2 :(得分:0)
您没有将第二个参数传递给map
,您将第二个参数传递给作为第一个(也是唯一的)参数传递给map
的函数。当map反过来调用该函数时,它将使用当前元素作为第一个参数调用它,并将当前元素的索引作为第二个参数调用。 (Map实际上也使用了第三个参数,即迭代的整个数组。)
所以如果您有以下代码:
arr2.map(function(item, index){
console.log( item, index );
});
你会得到
25 0
50 1
75 2
90 3