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

Node.js中用扩展运算符为对象加属性出现多余属性如何解决?

问题解答

错误原因

  • 你之前使用的Object.assign和错误的扩展运算符写法,都是将message对象的所有顶层属性平铺合并到conversation的根层级,不仅无法把整个message作为单独属性挂载,还会因为两个对象都存在_id字段,导致conversation原有的_id被覆盖。
  • 首次使用扩展运算符时属性名拼写错误,写的是复数messages,实际需求的属性名为单数message。

正确实现方案

方案1:直接修改原conversation对象

如果不需要保留原conversation对象的内容,直接追加属性即可:

conversation.message = message;
// 此时conversation对象已经符合预期结构

方案2:生成新对象(不修改原对象)

使用扩展运算符实现:

const new_object = {
  ...conversation,
  message // 此处为属性名和变量名一致的简写,等价于 message: message
};

使用Object.assign实现:

const new_object = Object.assign({}, conversation, { message });

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:39:03