比较 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";
  }
});