javascript怎么把两个数组交叉合并?比如,有两个数组,第一个数组有12个元素,第二个数组有3个元素:array_foo=['1','2','3','4','5','6','7','8','9','10','11','12'];array_bar=['a','b','c'];我想把第二个数组的a元素插入到第一个数组的4后面,b元素插入到第一个数组的8后面,c元素插入到第一个数组的12后面,即得到的结果如下:array_result=['1','2','3','4','a','5','6','7','8','b','9','10','11','12','c'];应该怎么做呢?
2 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
根据楼下的提示,将原来的版本
array_bar.forEach((item, index) => {
let array_foo_first = array_foo.slice(0, 4 * (index + 1) + index);
let array_foo_last = array_foo.slice(4 * (index + 1) + index);
array_foo = [
...array_foo_first,
item,
...array_foo_last
]
});
改为:
array_bar.forEach((item, index) => {
return array_foo.splice(4 * (index + 1) + index, 0, item);
});
感谢@原罪的提示,作者可以采纳他的答案
繁花不似锦
TA贡献1851条经验 获得超4个赞
楼上的slice可以进一步优化:
array_bar.forEach(function (item, index) {
array_foo.splice(4 * (index + 1) + index, 0, item);
});
console.log(array_bar);
用splice即可。
添加回答
举报
0/150
提交
取消