Как объединить два массива объектов в один массив объектов на основе ключа?

я пытаюсь объединить два массива объектов на основе ключа. два массива таких объектов,

          let array1 = [
    {
      name: "Deepak",
      age: 20
    },
    {
      name: "John",
      age: 30
    }
    ]
          let array2 = [
    {
      name: "Deepak",
      favGame: "Cricket"
    },
    {
      name: "John",
      favGame: "Football"
    },
    {
      name: "Kailash",
      favGame: "Basketball"
    }
   ]

Я столкнулся с трудностями при слиянии в ожидаемом формате. Я ожидаю такой формат

         let finalArray = [
    {
        name: "Deepak",
        age: 20,
        favGame: "Cricket"
      },
      {
        name: "John",
        age: 30,
        favGame: "Football"
      },
      {
        name: "Kailash",
        favGame: "Basketball"
      }
    ]

4 ответа

С использованиемArray.map()иArray.find()может сделать это

Вы можете сделать это следующим образом:

Вы можете использоватьArray.reduce()группировать элементы по .

Это создаст объект со свойством для каждогоnameзатем мы можем использоватьObject.values()чтобы вернуть результат в виде массива.

Поскольку мы используем объект сопоставления, этот подход будет эффективен для больших массивов.

Другие вопросы по тегам