user: {
city,
...
}
...
}
...
];
на выходе надо получить массив объектов с городами и кол-вом совпадений такого вида:
[
{
name: 'Москва',
count: 2,
}
...
]
написал ф-ю (скрин).
Подскажите, можно ли как-то упростить ее или можно так оставить?
Так если нужен массив, зачем тогда объект промежуточный? в reduce сразу в массив пуш
Хотя знаешь, в целом норм Не нужно ничего менять
благодарю) я пробовал так, как ты говоришь, но такое ощущение, что неправильный массив получается какой-то
Переписать под один цикл for ?
const getCities = (rosters) => { const result = {}; for(const roster of rosters) { const { city } = roster.user; if(result[city] === undefined) { result[city] = { name: city, count: 1 }; } else { result[city][`count`] += 1; } } return Object.values(result); }
Обсуждают сегодня