javascript 数组按规律插入元素?
两个数组需要在 newArr
中拿取数据插入到 arr
中。
let arr = ['a','b','c','d','e','f','g','h','i','j','k','l','m']
let newArr = ['1','2','3','4','5','6','7','8','9','10']
参数说明:(p1:每次插入位置 p2:每次插入数量)
期待结果
参数 当 p1 = (5) 代表插入位置是 arr
5位当 p2 = 2 代表插入两条, 在 newArr
中取两条插入
['a','b','c','d','e','1','2','f','g','h','i','j','k','l','m']
期待结果
参数 当 p1 = (1,3,5,7) 代表插入位置是 arr
1/3/5/7位当 p2 = 2 代表插入两条, 在 newArr
中取两条插入
['1','2','a','b','c','3','4','d','e','5','6','f','g','7','8','h','i','j','k','l','m']
回复
1个回答

test
2024-07-13
function fn(p1, p2) {
let arr = ['a','b','c','d','e','f','g','h','i','j','k','l','m']
let newArr = ['1','2','3','4','5','6','7','8','9','10']
if (!(p1.length && p2)) return false
p1.forEach((v, i)=> {
arr.splice(v + i * p2, 0, ...newArr.splice(0, p2))
})
return arr
}
console.log(fn([1,3,5,7], 2));
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容