Объединение двух массивов c объектами

95
10 июня 2021, 07:10

У меня есть два массива с объектами.

const array1 = [
   {
      id: 1,
   },
   {
      id: 2,
   },
   {
      id: 3,
   },
];

и

const array2 = [
   {
       name: 'Вася',
       phone: +7123456789,
   },
   {
       name: 'Саша',
       phone: +7987654321,
   },
   {
       name: 'Таня',
       phone: +7569874232,
   },
];

Я хочу получить массив объектов на основе двух моих массивов объектов.

const array3 = [
   {
       id: 1,
       name: 'Вася',
       phone: +7123456789,
   },
   {
       id: 2,
       name: 'Саша',
       phone: +7987654321,
   },
   {
       id: 3,
       name: 'Таня',
       phone: +7569874232,
   },
];

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

Так же я пробовал пройти по двум массивам в одном цикле, но не получилось.

for (const [id, details] of [array1, array2]) {
    //  Тут выполняю действия с id и details
}

Но я пришел к выводу что лучше объединить два массива, чем нежели использовать например два цикла for.

Answer 1

попробуйте так, spread пригодится для склеивания объектов

const array1 = [{ 
    id: 1, 
  }, 
  { 
    id: 2, 
  }, 
  { 
    id: 3, 
  }, 
]; 
const array2 = [{ 
    name: 'Вася', 
    phone: +7123456789, 
  }, 
  { 
    name: 'Саша', 
    phone: +7987654321, 
  }, 
  { 
    name: 'Таня', 
    phone: +7569874232, 
  }, 
]; 
const array3 = array1.map((item, index) => 
  ({ 
    ...item, 
    ...array2[index], 
  }) 
); 
 
console.log(array3)

READ ALSO
Как активировать функцию после ввода символа @?

Как активировать функцию после ввода символа @?

Как активировать определённую функцию только после того как в определённое поле input введём символ @ ? Если такое вообще реальноСпасибо

72
Фото/видео Галерея

Фото/видео Галерея

С помощью какой галереи лучше всего реализовать данную задачу? Показывается главное фото, снизу миниатюры + стрелки для переключения фото

112