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

javascript replace first array value with second array value. First array length is 2 and second one length is 7

我有两个数组 a 和 b,我需要用 a 替换数组 b 的值。

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

预期的输出应该是这样的

[1,2,1,2,1,2,1]

简单

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

演示

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 ) )

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

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

console.log(b);

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

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)