nastya_zholudeva
@nastya_zholudeva

Как убрать дубли и смерджить childItems, если у childItems одинаковый id у родителя?

Тут попробовала сделать
есть массив products. Eго нужно преобразовать в массив (убрать дубли и смерджить childItems, если у childItems одинаковый id у родителя) result
  • Вопрос задан
  • 145 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const group = (arr, keyProp, childrenProp) =>
  Object.values(arr.reduce((acc, { [childrenProp]: children, ...n }) => {
    const item = acc[n[keyProp]] = acc[n[keyProp]] || n;

    if (children) {
      children = (item.childItems || []).concat(children);
      item[childrenProp] = group(children, keyProp, childrenProp);
    }

    return acc;
  }, {}));


const grouped = group(products, 'name', 'childItems');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ArsenyMatytsyn
@ArsenyMatytsyn Куратор тега JavaScript
Руководитель frontend направления, предприниматель
Я не имею практического опыта в создании Set для объектов (пока что), но ты можешь попробовать.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
22 нояб. 2024, в 11:53
3000 руб./за проект
22 нояб. 2024, в 11:51
20000 руб./за проект
22 нояб. 2024, в 11:50
200000 руб./за проект