Добавление новых объектов в массив объектов

Никак не пойму, как сделать правильную проверку, существует ли уже такой объект в массиве объектов или нет. Заранее спасибо!

const obj = { name: 'мечник', health: 10, level: 2, attack: 80, defence: 40 };

function orderByProps(obj, [key1, key2]) {

  const resultArr1 = [];
  const resultArr2 = [];

  resultArr1.push({ key: key1, value: obj[key1] });

  resultArr1.push({ key: key2, value: obj[key2] });

  for (const key in obj) {

    //не могу понять, почему конструкция if ниже не срабатывает. 
    //как мне добавить в массив только те свойства, которых нет в resultArr1 ???
    if (!resultArr1[0].key.includes(key1) || !resultArr1[1].key.includes(key2)) {
      resultArr2.push({ key: key, value: obj[key] });
      resultArr2.sort((a, b) => a.key > b.key ? 1 : -1);
    }
  }

  return [...resultArr1, ...resultArr2];

}

console.log(orderByProps(obj, ["name", "level"]));

в итоге должен получиться вот такой массив:

[

{key: "name", value: "мечник"}, // порядок взят из массива с ключами

{key: "level", value: 2}, // порядок взят из массива с ключами

{key: "attack", value: 80}, // порядок по алфавиту (т.к. в массиве с ключами нет значения "attack")

{key: "defence", value: 40}, // порядок по алфавиту (т.к. в массиве с ключами нет значения "defence")

{key: "health", value: 10} // порядок по алфавиту (т.к. в массиве с ключами нет значения "health") ]


Ответы (0 шт):