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

如何只修改对象中嵌套数组的部分内容,其余属性保持不变?

你可以通过对象展开运算符先复制原对象的所有顶层属性,再单独覆盖需要修改的someArr字段即可,实现代码如下:

const newList = {
  ...someList,
  someArr: someList.someArr.slice(0, 2)
};

该写法会先把someList的所有顶层属性(包含something1、something2、原someArr)全部复制到新对象中,后续单独声明的someArr会自动覆盖复制过来的原数组属性,完全满足你仅修改嵌套数组、其余属性保持不变的需求。

如果你的使用场景需要避免新旧对象的深层引用互相影响,可以先做深拷贝再修改数组:

// 简单场景可以用JSON序列化方式实现深拷贝,复杂场景可使用对应工具库的深拷贝方法
const newList = JSON.parse(JSON.stringify(someList))
newList.someArr = newList.someArr.slice(0, 2)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:06:08