例如,我有一个带键1的对象:
1:{{name:alice,surname:doe}}
我有另一个具有相同键1的对象:
1:"A"
通过迭代我们检查两个键是否匹配(在这种情况下为1和1),因此我们将第二个对象A添加到第一个对象作为等级:所以最终对象看起来像
1:{{name:alice,surname:doe,grade:A}}
我正在添加图片以便更好地解释。
这就是我所尝试的:问题是缺少00001密钥:
Object.keys(localallcourseobject).forEach(function(key){
if(key in passedcoursesgrade) {
var c = Object.assign(localallcourseobject[key],{grade:passedcoursesgrade[key]});
console.log(c);
}
});
答案 0 :(得分:0)
我为您准备了这个代码段,它会在a
和b
中查找相同的属性,并会在对象grade
中添加c
属性匹配项:
var a = {1: {name:'alice',surname:'doe'}}
var b = {1:"A"}
var c = Object.assign({}, a)
for (var attr in a) {
for (var attr_ in b) {
if (attr == attr_) {
c.grade = b[attr_]
}
}
}
console.log(c)

如果您只想将1
属性替换为对象,请执行以下操作:
var a = {1: {name:'alice',surname:'doe'}}
var b = {1:"A"}
var c = Object.assign(a[1], {grade: b[1]})
console.log(c)

问候
答案 1 :(得分:0)
查看Object.assign,它允许您组合各种对象值。下面是将两个对象组合成一个具有所需结构的简单方法。
var a = {1: {name:'alice',surname:'doe'}}
var b = {1:"A"}
var c = Object.assign(a[1], {grade: b[1]})
console.log(c)