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

JavaScript数组指定索引元素修改:替换id保留原值的实现方案咨询

你编写的代码出现不符合预期的原因有两点:

  • 直接将Obj.id这个数字类型的值插入数组,替换位置的元素不是你需要的对象结构
  • Array.slice(1)会包含原数组索引1的旧元素,最终生成的数组不仅结构错误,长度还会比预期多1

场景1:不修改原数组,生成全新数组(适用React状态更新等需要不可变操作的场景)

const newArray = [
  ...Array.slice(0, 1),
  // 保留原索引1元素的所有属性,仅覆盖id
  {...Array[1], id: Obj.id},
  ...Array.slice(2)
]

场景2:允许直接修改原数组

直接操作对应索引的对象属性即可,代码最简洁:

Array[1].id = Obj.id

两种写法都能得到你要的预期结果,索引1的元素保留原有value值,仅id替换为Obj的id。

小提示:Array是JavaScript内置的数组构造函数,不建议用作自定义变量名,避免出现命名冲突问题,可替换为arr等自定义命名。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:18:05