比较 2 个对象并根据 Match 进行更改
Comparing 2 objects and making alterations based on Match
我有 2 个对象,它们的键值对应该始终相同(匹配),否则我想将对象 #1 中的键值修改为 "Some Value - Not available"
这是我的 2 个对象:
对象#1
[
{
"name": "John",
"age": "12",
"id": 1
},
{
"name": "tina",
"age": "19",
"id": 2
}]
对象 #2(名称检查器)
[
{
"value": "tina"
},
{
"value": "Trevor"
},
{
"value": "Donald"
},
{
"value": "Elon"
},
{
"value": "Pamela"
},
{
"value": "Chris"
},
{
"value": "Jackson"
}
]
我想知道对象 #1 中的 name 是否在对象 #2 中找到,如果找不到,请添加“- 不可用”
e.i
[
{
"name": "John - not available",
"age": "12",
"id": 1
},
{
"name": "tina",
"age": "19",
"id": 2
}
]
重要提示:我使用的是 ES5 --- 而不是 ES6
这应该适用于 ES5
object1.forEach(function(person) {
var found = false;
Object.keys(object2).forEach(function(key) {
if (person.name === object2[key].value) {
found = true;
}
});
if (!found) {
person.name = person.name + " - not available";
}
});
我有 2 个对象,它们的键值对应该始终相同(匹配),否则我想将对象 #1 中的键值修改为 "Some Value - Not available"
这是我的 2 个对象:
对象#1
[
{
"name": "John",
"age": "12",
"id": 1
},
{
"name": "tina",
"age": "19",
"id": 2
}]
对象 #2(名称检查器)
[
{
"value": "tina"
},
{
"value": "Trevor"
},
{
"value": "Donald"
},
{
"value": "Elon"
},
{
"value": "Pamela"
},
{
"value": "Chris"
},
{
"value": "Jackson"
}
]
我想知道对象 #1 中的 name 是否在对象 #2 中找到,如果找不到,请添加“- 不可用”
e.i
[
{
"name": "John - not available",
"age": "12",
"id": 1
},
{
"name": "tina",
"age": "19",
"id": 2
}
]
重要提示:我使用的是 ES5 --- 而不是 ES6
这应该适用于 ES5
object1.forEach(function(person) {
var found = false;
Object.keys(object2).forEach(function(key) {
if (person.name === object2[key].value) {
found = true;
}
});
if (!found) {
person.name = person.name + " - not available";
}
});