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

JavaScript函数如何同时返回两个经Object.assign修改的对象?

方法1:返回数组形式

直接将两个对象按顺序存入数组返回,调用时可按索引取值或用解构赋值获取对应对象。
修改后代码:

function splitTheBill(x) {
  var obj1 = Object.assign({}, x);
  Object.assign(obj1, {A: 5, B: 0, C: -5})

  var obj2 = Object.assign({}, obj1);
  delete obj2["C"]
  Object.assign(obj2, {A: 15, B: 0, X: -15})

  return [obj1, obj2];
}

调用示例:

// 索引取值
const res = splitTheBill({})
const obj1 = res[0]
const obj2 = res[1]

// 解构赋值更便捷
const [obj1, obj2] = splitTheBill({})

方法2:返回包装对象形式

将两个对象作为属性存入一个总对象返回,无需记忆顺序,可读性更高。
修改后代码:

function splitTheBill(x) {
  var obj1 = Object.assign({}, x);
  Object.assign(obj1, {A: 5, B: 0, C: -5})

  var obj2 = Object.assign({}, obj1);
  delete obj2["C"]
  Object.assign(obj2, {A: 15, B: 0, X: -15})

  return {
    bill1: obj1,
    bill2: obj2
  };
}

调用示例:

// 按属性名取值
const res = splitTheBill({})
const obj1 = res.bill1
const obj2 = res.bill2

// 解构赋值
const {bill1, bill2} = splitTheBill({})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:06:00