Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Middle+
5
Создание агрегированной таблицы товаров
Условие задачи
Дан массив объектов, представляющих товары. Необходимо реализовать функцию, которая собирает товары в структуру‑таблицу, группируя их по полю 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);
};