如何在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
相关产品推荐
相关产品推荐

