Проверить, все ли ключи объектов существуют как значения в массиве объектов - PullRequest
0 голосов
/ 06 августа 2020

Допустим, у меня есть эти 2 объекта

const obj1 = {key1: "", key2: "", key3: ""};
const array2 = [
  {
    name: "key1",
  }]

Как я могу проверить, есть ли у array2 объект с именем каждого поля в obj1?

В основном я ' Я хотел бы закончить массивом 2 следующим образом:

const array2 = [
  {
    name: "key1",
  },
{
    name: "key2",
  },
{
    name: "key3",
  }]

1 Ответ

1 голос
/ 06 августа 2020

Что-то вроде этого?

const obj1 = {
    key1: "",
    key2: "",
    key3: ""
};

const array2 = [{
    name: "key1",
}, {
    name: "key2",
}];

const obj1Keys = Object.keys(obj1);
const array2KeyNames = array2.reduce((array2KeyNames, obj) => {
    array2KeyNames.push(obj.name);
    return array2KeyNames;
}, []);

for (let i = 0; i < obj1Keys.length; i++) {
    if (!array2KeyNames.includes(obj1Keys[i])) {
        console.log(obj1Keys[i], ' is not in the array2');
        break;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...