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

如何利用ES6语法基于原对象创建指定结构的新独立对象?

嘿,针对你要从 original 创建 modified 这个指定结构的独立新对象的需求,用 ES6+ 语法有几种很顺手的实现方式,我给你拆解下:

实现方式

方法一:解构赋值 + 对象扩展运算符(推荐)

这种方式最直观,一步就能完成「排除不需要的属性」和「修改目标属性值」的操作,而且创建的是完全独立的新对象,不会和原对象有引用关联:

const original = { first: 1, second: 2, third: 3 };
// 先通过解构把不需要的second剥离出来,剩下的rest就是 { first: 1, third: 3 }
const { second, ...rest } = original;
// 扩展rest的同时重写first的值,直接得到目标对象
const modified = { ...rest, first: 100 };
// 最终结果:modified = { first: 100, third: 3 }

要是你想写得更紧凑,也可以合并成一行,但分两行的写法可读性更高,日常开发更推荐前者。

方法二:Object.assign 结合属性删除

如果你更习惯用 Object.assign,也可以这样实现:

const original = { first: 1, second: 2, third: 3 };
// 先复制原对象到新空对象,同时覆盖first的值
const modified = Object.assign({}, original, { first: 100 });
// 删除不需要的second属性
delete modified.second;

这种方式也能达成目标,但相比第一种多了一步删除操作,可读性稍弱一些。

小提醒

两种方式创建的 modified 都是完全独立于原对象的新对象——因为你的属性都是数字这种基础类型,浅拷贝就足够了;如果原对象里有引用类型的属性(比如嵌套对象),那可能需要考虑深拷贝,但你的场景里完全不用操心这个~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:48:15