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]
    }
]
  • Вопрос задан
  • 158 просмотров
Решения вопроса 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 ]))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы