Javascript 如何将属性添加到其他数组中不存在的元素数组中

Javascript 如何将属性添加到其他数组中不存在的元素数组中,javascript,Javascript,我有一个对象数组:- var arr1 = [{ "name": "A" }, { "name": "B" }, { "name": "C" }, { "name": "D" }]; 我想为第二个数组中不存在的每个元素添加一个新属性 var arr2 = [C,D] 结果数组应为:- arr1 = [{ "name": "A", "country":"USA" }, { "name": "B", "country":"USA"

我有一个对象数组:-

var arr1 = [{
    "name": "A"
}, {
    "name": "B"
}, {
    "name": "C"
}, {
    "name": "D"
}];
我想为第二个数组中不存在的每个元素添加一个新属性

var arr2 = [C,D]
结果数组应为:-

arr1 = [{
    "name": "A",
    "country":"USA"
}, {
    "name": "B",
    "country":"USA"
}, {
    "name": "C"
}, {
    "name": "D"
}];
有人能告诉我如何做到这一点吗

我想为第二个数组中不存在的每个元素添加一个新属性

var arr2 = [C,D]
这完全改变了你最初提出的问题

如果项目是可变的,则只需在数组中循环,将属性添加到选定的项目。有,例如forEach:

arr1.forEach(function(item) {
    if (arr2.indexOf(item.name) === -1) {
        item.country = "USA";
    }
});
实例:

var arr1=[{
“名称”:“A”
}, {
“名称”:“B”
}, {
“名称”:“C”
}, {
“名称”:“D”
}];
var arr2=[“C”,“D”];
arr1.forEach(功能(项目){
if(arr2.indexOf(item.name)=-1){
item.country=“美国”;
}
});

控制台日志(arr1)如果元素不存在,则使用并添加属性-使用您已经使用的相同比较。

我的要求不同。我已经改变了前面的问题。请帮助解决此问题。如图所示的结果应该包含名为C和D的对象,而不是添加国家/地区。有了过滤器,这些物品会被丢弃,对吗<代码>地图
听起来是个更好的选择?@sabithpocker:OP完全改变了这个问题,所以我来回答。但是不,
map
不是这里的解决方案(除非项目是不变的)。仅供参考,OP完全改变了这个问题:-|