猿问

javascript怎么把两个数组交叉合并?

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'];

应该怎么做呢?


小唯快跑啊
浏览 1163回答 2
2回答

守着一只汪

根据楼下的提示,将原来的版本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);});感谢@原罪的提示,作者可以采纳他的答案

繁花不似锦

楼上的slice可以进一步优化:array_bar.forEach(function (item, index) {  array_foo.splice(4 * (index + 1) + index, 0, item);});console.log(array_bar);用splice即可。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答