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

如何在JavaScript中将obj2嵌套到obj1中生成指定结构的对象?

合并两个JavaScript对象,将obj2的careerLevels插入obj1

这事儿很简单,咱们可以根据你是否需要保留原对象的完整性,选择不同的实现方式:

方法1:直接修改原obj1(会改变obj1本身)

如果不介意修改原始的obj1,直接把obj2的careerLevels属性赋值给obj1就行,一步到位:

obj1.careerLevels = obj2.careerLevels;

// 此时obj1就是你要的result对象
console.log(obj1);

方法2:创建新对象(推荐,避免修改原对象)

如果想保留obj1和obj2的原始状态,推荐用扩展运算符或者Object.assign来生成全新的result对象,不会对原对象产生副作用:

扩展运算符写法(更简洁直观)

const result = {
  ...obj1, // 复制obj1的所有属性
  careerLevels: obj2.careerLevels // 加入obj2的careerLevels数组
};

Object.assign写法(兼容性更好)

const result = Object.assign({}, obj1, { careerLevels: obj2.careerLevels });

最终生成的result结构

不管用哪种方法,最终的result对象都会是你需要的结构:

{
  '201609': 52,
  '201610': 54,
  '201611': 56,
  metric: 'promotionsOut',
  careerLevelGroups: [
    {
      '201609': 52,
      '201610': 54,
      '201611': 56,
      careerLevelGroup: 'Associate'
    }
  ],
  careerLevels: [
    { '201609': 21, '201610': 22, '201611': 23, 'careerID': 10000120 },
    { '201609': 31, '201610': 32, '201611': 33, 'careerID': 10000130 }
  ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:53:24