@WAYNEDEV

Как сгруппировать расположенные последовательно элементы массива с одинаковыми значениями одного из свойств?

Есть массив:

const array = [
    { name: 'one', value: 1 },
    { name: 'one', value: 2  },
    { name: 'two', value: 3 },
    { name: 'one', value: 4 },
];

Надо сгруппировать соседние объекты с одинаковыми name'ами:

const result = [
           [
                { name: 'one', value: 1 },
                { name: 'one', value: 2  }
            ],
            [
                { name: 'two', value: 3 },
            ],
            [
                { name: 'one', value: 4 },
            ]
];

Как это сделать?
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
arr.reduce((acc, n) => (
  acc.at(-1)?.[0].name === n.name || acc.push([]),
  acc.at(-1).push(n),
  acc
), [])
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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