javascript 数组按规律插入元素?

作者站长头像
站长
· 阅读数 15

两个数组需要在 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个回答
avatar
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));
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容