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

JavaScript实现将对象多个属性值合并为同对象新键并删除原属性

JS对象合并指定属性并删除原属性实现方案

方法1:不修改原对象(推荐,无副作用)

使用ES6对象解构语法,先提取需要合并的notSet和blanks属性,剩余属性自动归集到剩余参数对象中,再组装成新对象即可:

const origin = {
  notSet: 2,
  set: 9,
  blanks: 4,
  other: 8
};

// 提取待合并属性,其余属性存入rest
const { notSet, blanks, ...rest } = origin;
const result = {
  newKey: notSet + blanks,
  ...rest
};

运行后result的结构完全符合要求:{newKey: 6, set: 9, other: 8},原对象origin不会被改动。

方法2:直接修改原对象

如果不需要保留原对象,可以直接在原对象上操作,先计算新键值,再删除多余属性:

const obj = {
  notSet: 2,
  set: 9,
  blanks: 4,
  other: 8
};

obj.newKey = obj.notSet + obj.blanks;
delete obj.notSet;
delete obj.blanks;

这种写法内存开销更小,但会直接改动原始数据,适合确认原对象后续不再使用的场景。

边界情况处理

如果待处理对象可能缺失notSet或blanks属性,相加时补0避免出现NaN:

newKey: (origin.notSet ?? 0) + (origin.blanks ?? 0)

这里用空值合并运算符??,只有属性值为null/undefined时才取默认值0,不会把合法的0值误判。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 19:18:41