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

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

Тут попробовала сделать
есть массив products. Eго нужно преобразовать в массив (убрать дубли и смерджить childItems, если у childItems одинаковый id у родителя) result
  • Вопрос задан
  • 155 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const group = (arr, key, childrenKey) =>
  Object.values(arr.reduce((acc, { [childrenKey]: children, ...n }) => {
    const item = acc[n[key]] = acc[n[key]] ?? n;

    if (children) {
      children = (item[childrenKey] ?? []).concat(children);
      item[childrenKey] = group(children, key, childrenKey);
    }

    return acc;
  }, {}));

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

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

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