Задать вопрос
jTavez
@jTavez

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

Здравствуйте. Есть массив с объектами, нужно объединить по повторяющимся ключам, при этом сохранив все уникальные значения. Пример массива:
let arr = [
    {
        key1: [1, 2, 3]
    },
    {
        key2: [1, 2, 3]
    },
    {
        key3: [4, 5, 6]
    },
    {
        key3: [7, 8, 9]
    },
    {
        key3: [10, 11, 12]
    },
]


Нужно преобразовать в такой вид:
[
    {
        key1: [1, 2, 3]
    },
    {
        key2: [1, 2, 3]
    },
    {
        key3: [4, 5, 6, 7, 8, 9, 10, 11, 12]
    }
]
  • Вопрос задан
  • 170 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Stepik
    JavaScript с нуля - основы языка и практика для начинающих
    2 недели
    Далее
  • Merion Academy
    Фронтенд-разработчик с нуля
    4 месяца
    Далее
  • Skypro
    JavaScript-разработчик с нуля
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Object.entries(arr.reduce((acc, n) => {
  const [ k, v ] = Object.entries(n)[0];
  (acc[k] = acc[k] || []).push(...v);
  return acc;
}, {})).map(n => Object.fromEntries([ n ]))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы