You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript如何在数组指定index后push多个对象元素

实现方案

使用 JavaScript 数组原生的 splice() 方法即可完成指定位置插入,该方法默认直接修改原数组,完全匹配你的需求。

核心规则

要在数组索引 n 对应的元素之后插入内容,调用 splice 时按如下规则传参:

  • 第一个参数:插入起始位置,固定填 n + 1(你要在index=3后插入,这里就填4)
  • 第二个参数:填 0,代表不删除任何原有元素
  • 后续参数:逐个传入你要插入的元素,由于待插入的otherObj本身是数组,用展开运算符...把数组元素展开传入即可。

示例代码

对应你给出的场景,可直接运行的代码如下:

const currarr = [{id:1,name:"abc"},{id:2,name:"efg"},{id:3,name:"hij"},{id:4,name:"klm"},{id:5,name:"nop"}];
const otherObj = [{id:6,name:"fdf"},{id:7,name:"gfg"}];

// 执行插入:在index=3的元素后插入otherObj中的所有元素
currarr.splice(4, 0, ...otherObj);

执行完成后currarr的元素顺序为:

  • {id:1,name:"abc"}
  • {id:2,name:"efg"}
  • {id:3,name:"hij"}
  • {id:4,name:"klm"}
  • {id:6,name:"fdf"}
  • {id:7,name:"gfg"}
  • {id:5,name:"nop"}

补充说明

  • 如果你不想修改原数组,可以先浅拷贝一份原数组再执行splice操作:
// 生成新数组,原currarr不会被改动
const newArr = [...currarr];
newArr.splice(4, 0, ...otherObj);
  • 注意不要直接把otherObj数组作为第三个参数传入splice,否则会把整个数组作为单个元素插入,而非展开其中的两个对象。
  • 当指定的插入位置等于数组长度时(也就是在最后一个元素后插入),splice会自动把元素追加到数组末尾,效果和push()一致,不会抛出越界错误。

内容的提问来源于stack exchange,提问作者vjtechno

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 07:30:49