Sobes.tech
Назад к вопросам
Middle
5

Задача: реализуйте функцию группировки пользователей по городу (groupByCity).

Компании, где спрашивали
News Media Holdind

Ответ от нейросети

sobes.tech AI

Для группировки пользователей по городу можно использовать метод reduce или forEach с объектом-словарём. Вот пример на JavaScript:

function groupByCity(users) {
  return users.reduce((acc, user) => {
    const city = user.city;
    if (!acc[city]) {
      acc[city] = [];
    }
    acc[city].push(user);
    return acc;
  }, {});
}

// Пример использования:
const users = [
  { id: 1, name: 'Иван', city: 'Москва' },
  { id: 2, name: 'Анна', city: 'Санкт-Петербург' },
  { id: 3, name: 'Пётр', city: 'Москва' }
];

const grouped = groupByCity(users);
console.log(grouped);
/*
{
  Москва: [ { id: 1, name: 'Иван', city: 'Москва' }, { id: 3, name: 'Пётр', city: 'Москва' } ],
  'Санкт-Петербург': [ { id: 2, name: 'Анна', city: 'Санкт-Петербург' } ]
}
*/

Такой подход создаёт объект, где ключ — название города, а значение — массив пользователей из этого города.