# Группировка по ключу

Группирует элементы по ключу с lodash _.groupBy

> Каноническая страница: https://elysiatools.com/ru/tools/group-by

- **Категория:** Data Processing

- **Ключевые слова:** группа, lodash, коллекция, объект, массив

## Обзор

Группирует элементы по производному ключу из коллекции.

**Особенности:**
- Использует lodash `_.groupBy`
- Принимает JSON массивы или объекты
- Поддерживает identity или свойство/путь

**Пример:**
- Коллекция: `[{"type":"a"},{"type":"b"},{"type":"a"}]`
- Iteratee: `type`
- Результат: `{"a":[{"type":"a"},{"type":"a"}],"b":[{"type":"b"}]}`

## Входные данные

- **Коллекция** (textarea): Введите JSON массив или объект
- **Тип Iteratee** (select)
- **Iteratee** (text): Имя свойства или путь для iteratee

## Когда использовать

- Когда нужно организовать данные по категориям для анализа или отчетности.
- При обработке JSON массивов для создания структурированных объектов на основе общих ключей.
- Для быстрой группировки объектов по конкретному свойству, например, типу или статусу.

## Как это работает

- Введите коллекцию в формате JSON массива или объекта в поле 'Коллекция'.
- Выберите тип iteratee: 'Identity' для группировки по значению элемента или 'Свойство/Путь' для группировки по ключу.
- Если выбран тип 'Свойство/Путь', укажите имя свойства или путь (например, 'type' или 'address.city') в поле 'Iteratee'.
- Инструмент применяет lodash _.groupBy и возвращает результат в виде JSON объекта, где ключи — значения iteratee, а значения — массивы элементов.

## Сценарии использования

- Группировка товаров по категориям для анализа ассортимента интернет-магазина.
- Организация списка сотрудников по отделам или должностям в системе управления персоналом.
- Анализ логов событий по типу или времени для выявления паттернов в данных.

## Частые вопросы

### Какой формат данных поддерживается?

Инструмент принимает JSON массивы или объекты в качестве коллекции.

### Что такое iteratee?

Iteratee — это критерий группировки: либо identity (по значению элемента), либо указанное свойство или путь в объекте.

### Можно ли группировать по вложенным свойствам?

Да, выберите тип 'Свойство/Путь' и укажите путь, например, 'user.profile.age'.

### Какой результат выдает инструмент?

Результат — JSON объект, где ключи соответствуют значениям iteratee, а значения содержат массивы сгруппированных элементов.

### Требуется ли установка дополнительного программного обеспечения?

Нет, инструмент работает онлайн и использует встроенные библиотеки, такие как lodash.

## Связанные инструменты

- [Счет по ключу](https://elysiatools.com/ru/tools/count-by): Считает элементы по ключу с lodash _.countBy
- [Найти ключ](https://elysiatools.com/ru/tools/find-key): Находит первый подходящий ключ с lodash _.findKey
- [Получить путь](https://elysiatools.com/ru/tools/get-path): Читает значение по пути с lodash _.get
- [Индекс Значения](https://elysiatools.com/ru/tools/index-of): Находит индекс значения в массиве с помощью lodash _.indexOf
- [Начальные Элементы](https://elysiatools.com/ru/tools/initial-items): Получает все элементы, кроме последнего, с помощью lodash _.initial
- [Инвертировать по](https://elysiatools.com/ru/tools/invert-by): Инвертирует с группировкой по значениям lodash _.invertBy
- [N-й элемент](https://elysiatools.com/ru/tools/nth-item): Получает элемент по индексу с lodash _.nth
- [Удалить по условию](https://elysiatools.com/ru/tools/remove-by-predicate): Удаляет элементы по предикату с lodash _.remove

## Примеры

- [Примеры Расширенного Применения Grafana](https://elysiatools.com/ru/samples/grafana-samples): Комплексные примеры Grafana, охватывающие продвинутый дизайн дашбордов, конфигурацию оповещений, интеграцию источников данных и разработку плагинов
- [Примеры QR-кодов](https://elysiatools.com/ru/samples/qrcode-samples): Примерные изображения QR-кодов для тестирования инструментов чтения и генерации QR-кодов
- [Postman Collections - API Тестирование](https://elysiatools.com/ru/samples/postman-collections): Всесторонние примеры Postman collections включая API тестирование, скрипты автоматизации, переменные окружения, mock серверы и продвинутые паттерны тестирования для REST API
- [Примеры D3.js Визуализации Данных](https://elysiatools.com/ru/samples/d3js-data-visualization): Комплексные примеры визуализации данных D3.js, включая диаграммы, карты, анимации и интерактивные визуализации

## Связанные материалы

- [Инструменты JSON-обмена и перевода форматов](https://elysiatools.com/ru/hubs/json-convert): Сравните инструменты преобразования JSON для CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN и других структурированных форматов в одном хабе.
- [Инструменты для проверки, diff и преобразования JSON](https://elysiatools.com/ru/hubs/json-utility): Соберите в одном хабе инструменты для форматирования JSON, сравнения версий, проверки путей, валидации схем, объединения файлов и преобразования данных для API и data workflows.
- [Генераторы JSON-схем, mock-данных и API-fixture](https://elysiatools.com/ru/hubs/json-generate): Подборка инструментов для генерации JSON-схем, сборки mock-payload и подготовки API-fixture в одном хабе.
- [Инструменты форматирования, diff и нормализации JSON](https://elysiatools.com/ru/hubs/json-format): Сравните инструменты форматирования JSON, diff, анализа логов, сравнения конфигураций и нормализации данных в одном хабе для удобной проверки JSON.
