javascript用第二个数组值替换第一个数组值。第一个数组长度为2,第二个长度为7

时间:2017-09-25 09:03:53

标签: javascript jquery arrays arraylist mapreduce

我有两个数组a和b,我需要用。

替换数组b值
navigationController

预期输出应该是这样的

a= [1,2];
b=[1,2,3,4,5,6,7];

3 个答案:

答案 0 :(得分:0)

简单地

var output = b.map( function(item, index){
  return a[ index % a.length ]
});

<强>演示

&#13;
&#13;
var a= [1,2];
var b=[1,2,3,4,5,6,7];

var output = b.map( function(item, index){
  return a[ index % a.length ]
});

console.log( JSON.stringify( output ) )
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以获取目标数组的索引,并使用索引和余数运算符映射给定长度的源数组的值。

&#13;
&#13;
var a = [1, 2],
    b = [1, 2, 3, 4, 5, 6, 7];
    
b = b.map((_, i) => a[i % a.length]);

console.log(b);
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您可以使用forEach来更改数组并使用模数来获得正确的索引。如果你想要一个新的,你也可以在数组上使用map。

var a = [1,2]
var b = [1,2,3,4,5,6,7]
var l = a.length
b.forEach((el,idx,arr) => {
  arr[idx] = a[idx%l]
})

console.log(b)