我有两个对象如下:
obj1=
{
'201609': 52,
'201610': 54,
'201611': 56,
metric: 'promotionsOut',
careerLevelGroups:
[ { '201609': 52,
'201610': 54,
'201611': 56,
careerLevelGroup: 'Associate'
}
]
}
obj2=
{'careerLevels': [{
'201609': 21,
'201610': 22,
'201611': 23,
'careerID': 10000120
},
{
'201609': 31,
'201610': 32,
'201611': 33,
'careerID': 10000130
}
]
}
现在我需要以结果应该
的方式插入obj2result =
{
"201609": 52,
"201610": 54,
"201611": 56,
"metric": "PromotionsOut",
"careerLevelGroups": [{
"201609": 52,
"201610": 52,
"201611": 56,
"careerLevelGroup": "Associate",
"careerLevels": [{
"201609": 21,
"201610": 22,
"201611": 23,
"careerID": 10000120
},
{
"201609": 31,
"201610": 32,
"201611": 33,
"careerID": 10000130
}
]
}]
}
我正在尝试使用push方法来处理它:
let onlyCLs = obj2;
metric_clg_json.careerLevelGroups[0].careerLevel.push(onlyCLs);
但这不适合我。可能我需要一些循环逻辑来进入" careerLevels"节点,然后在它下面插入obj2。
答案 0 :(得分:2)
您不应该使用push
。 push
用于将项插入数组。您想要将数组分配给属性。
您应该将obj2.careerLevels
分配给careerLevels
obj1
属性
obj1 = {
'201609': 52,
'201610': 54,
'201611': 56,
metric: 'promotionsOut',
careerLevelGroups: [{
'201609': 52,
'201610': 54,
'201611': 56,
careerLevelGroup: 'Associate'
}]
}
obj2 = {
'careerLevels': [{
'201609': 21,
'201610': 22,
'201611': 23,
'careerID': 10000120
},
{
'201609': 31,
'201610': 32,
'201611': 33,
'careerID': 10000130
}
]
}
obj1.careerLevelGroups[0].careerLevels = obj2.careerLevels;
console.log(obj1);
答案 1 :(得分:1)
您只需在obj2
的数组careerLevelGroups
中添加obj1
,如下所示:
var obj1=
{
'201609': 52,
'201610': 54,
'201611': 56,
'metric': 'promotionsOut',
'careerLevelGroups':
[ { '201609': 52,
'201610': 54,
'201611': 56,
'careerLevelGroup': 'Associate'
}
]
}
var obj2 = {
'careerLevels': [{
'201609': 21,
'201610': 22,
'201611': 23,
'careerID': 10000120
},
{
'201609': 31,
'201610': 32,
'201611': 33,
'careerID': 10000130
}
]
}
obj1.careerLevelGroups[0]['careerLevels'] = obj2['careerLevels'];
console.log(obj1);

答案 2 :(得分:1)
obj1.careerLevelGroups[0].careerLevels = obj2.careerLevels
obj1= {
'201609': 52,
'201610': 54,
'201611': 56,
metric: 'promotionsOut',
careerLevelGroups:
[ { '201609': 52,
'201610': 54,
'201611': 56,
careerLevelGroup: 'Associate'
}
]
}
obj2={'careerLevels': [{
'201609': 21,
'201610': 22,
'201611': 23,
'careerID': 10000120
},
{
'201609': 31,
'201610': 32,
'201611': 33,
'careerID': 10000130
}
]
}
obj1.careerLevelGroups[0].careerLevels = obj2.careerLevels
console.log(obj1)