Назад к задачам
Junior — Middle+
5

Создание агрегированной таблицы товаров

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Дан массив объектов, представляющих товары. Необходимо реализовать функцию, которая собирает товары в структуру‑таблицу, группируя их по полю type и подсчитывая суммарный вес каждой группы.

 const products = [
    { id: 'ab', name: 'Имя-01', type: 'сталь', weight: 1 },
    { id: 'bc', name: 'Имя-02', type: 'чугун', weight: 2 },
    { id: 'cd', name: 'Имя-03', type: 'сталь', weight: 3 },
    { id: 'de', name: 'Имя-04', type: 'чугун', weight: 4 },
    { id: 'ef', name: 'Имя-05', type: 'чугун', weight: 5 },
    { id: 'fg', name: 'Имя-06', type: 'сталь', weight: '4' },
];

// Требуемый результат – объект, где ключом является тип, а значением – объект с массивом id и суммой весов:
// {
//   'сталь': { ids: ['ab', 'cd', 'fg'], totalWeight: 8 },
//   'чугун': { ids: ['bc', 'de', 'ef'], totalWeight: 11 },
// }

const generateTable = arr => {
    console.log(arr);
};