Map.groupBy
Группирует элементы в Map по любому ключу.
Доступно с: ES2024
Синтаксис
Map.groupBy(items, callbackFn)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| items | Iterable | Массив или другой перебираемый объект. |
| callbackFn | Function | Функция, которая возвращает ключ группы для элемента. |
Возвращаемое значение
MapMap, где каждому ключу соответствует массив элементов группы.
Примеры
Группировка по числовому ключу:
const words = ['hi', 'cat', 'yo', 'dog', 'horse'];
const byLength = Map.groupBy(words, (word) => word.length);
console.log(byLength.get(2).join(', '));
console.log(byLength.get(3).join(', '));
console.log([...byLength.keys()].join(', '));Результат:
hi, yo
cat, dog
2, 3, 5Примечания
Отличие от Object.groupBy(): ключи не превращаются в строки, ими могут быть числа, объекты и любые другие значения.
См. также
- Object.groupBy — Группирует элементы массива по ключу.
- Map — Коллекция пар ключ — значение, где ключом может быть что угодно.
Вопросы и ответы по теме
В учебнике
- Map и Set — Коллекции Map и Set в JavaScript: словарь с ключами любого типа и набор уникальных значений.