# Agrupar por

Agrupa elementos por clave derivada con lodash _.groupBy

> Página canónica: https://elysiatools.com/es/tools/group-by

- **Categoría:** Data Processing

- **Palabras clave:** grupo, lodash, coleccion, objeto, array

## Descripción general

Agrupa elementos por una clave derivada de una coleccion.

**Aspectos destacados:**
- Usa lodash `_.groupBy`
- Acepta arrays u objetos JSON
- Admite iteratee identity o propiedad/ruta

**Ejemplo:**
- Coleccion: `[{"type":"a"},{"type":"b"},{"type":"a"}]`
- Iteratee: `type`
- Resultado: `{"a":[{"type":"a"},{"type":"a"}],"b":[{"type":"b"}]}`

## Entradas

- **Coleccion** (textarea): Ingrese un array u objeto JSON
- **Tipo de Iteratee** (select)
- **Iteratee** (text): Nombre de propiedad o ruta al usar iteratee de propiedad

## Cuándo usarlo

- Cuando necesites clasificar una lista de objetos basada en un atributo común.
- Al preparar datos para visualización donde los elementos deben estar segmentados por categorías.
- Para simplificar el análisis de grandes volúmenes de datos JSON estructurados.

## Cómo funciona

- Pega tu colección de datos en formato JSON en el campo de entrada.
- Selecciona el tipo de iterador: 'Identidad' para valores directos o 'Propiedad/Ruta' para claves específicas.
- Define el nombre de la propiedad o la ruta que servirá como criterio de agrupación.
- Ejecuta la herramienta para obtener un objeto JSON donde cada clave representa un grupo y su valor es el array de elementos correspondientes.

## Casos de uso

- Organizar una lista de transacciones financieras por tipo de moneda o categoría de gasto.
- Segmentar una lista de usuarios de una base de datos según su país o nivel de suscripción.
- Agrupar tareas de un proyecto por estado (pendiente, en curso, completado) para generar reportes rápidos.

## Preguntas frecuentes

### ¿Qué formatos de entrada acepta la herramienta?

Acepta colecciones de datos en formato JSON, ya sean arrays de objetos o estructuras de objetos complejos.

### ¿Qué hace la opción 'Propiedad/Ruta'?

Permite especificar el nombre de un campo dentro de tus objetos (por ejemplo, 'categoria') para que la herramienta agrupe los elementos basándose en el valor de ese campo.

### ¿Es necesario instalar algo para usar esta herramienta?

No, es una herramienta basada en web que procesa los datos directamente en tu navegador utilizando la lógica de lodash.

### ¿Puedo agrupar por rutas anidadas?

Sí, al seleccionar 'Propiedad/Ruta', puedes indicar la ruta al campo deseado dentro de la estructura del objeto.

### ¿Qué sucede si un elemento no tiene la propiedad especificada?

Los elementos que carezcan de la propiedad indicada se agruparán bajo una clave 'undefined' o serán omitidos dependiendo de la estructura de los datos.

## Herramientas relacionadas

- [Contar por](https://elysiatools.com/es/tools/count-by): Cuenta elementos por clave derivada con lodash _.countBy
- [Encontrar clave](https://elysiatools.com/es/tools/find-key): Encuentra la primera clave con lodash _.findKey
- [Obtener ruta](https://elysiatools.com/es/tools/get-path): Obtiene un valor por ruta con lodash _.get
- [Índice De](https://elysiatools.com/es/tools/index-of): Encuentra el índice de un valor en un array usando lodash _.indexOf
- [Elementos Iniciales](https://elysiatools.com/es/tools/initial-items): Obtiene todos los elementos excepto el último usando lodash _.initial
- [Invertir por](https://elysiatools.com/es/tools/invert-by): Invierte agrupando por valores con lodash _.invertBy
- [Elemento N](https://elysiatools.com/es/tools/nth-item): Obtiene el elemento en un indice usando lodash _.nth
- [Eliminar por Predicado](https://elysiatools.com/es/tools/remove-by-predicate): Elimina elementos segun un predicado con lodash _.remove

## Ejemplos

- [Muestras Avanzadas de Grafana](https://elysiatools.com/es/samples/grafana-samples): Muestras comprensivas de Grafana cubriendo diseño avanzado de dashboards, configuración de alertas, integración de fuentes de datos y desarrollo de plugins
- [Ejemplos de Códigos QR](https://elysiatools.com/es/samples/qrcode-samples): Imágenes de códigos QR de muestra para probar herramientas de lectura y generación de códigos QR
- [Colecciones Postman - Pruebas API](https://elysiatools.com/es/samples/postman-collections): Ejemplos completos de colecciones Postman incluyendo pruebas de API, scripts de automatización, variables de entorno, servidores mock y patrones avanzados de prueba para REST APIs
- [Ejemplos D3.js Data Visualization](https://elysiatools.com/es/samples/d3js-data-visualization): Ejemplos completos de visualización de datos D3.js incluyendo gráficos, mapas, animaciones y visualizaciones interactivas

## Contenido relacionado

- [Herramientas de intercambio JSON y traduccion de formatos](https://elysiatools.com/es/hubs/json-convert): Compara herramientas de conversion JSON para CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN y otros formatos estructurados en un solo hub.
- [Herramientas de inspeccion, diff y transformacion JSON](https://elysiatools.com/es/hubs/json-utility): Reune en un solo hub herramientas para formatear JSON, comparar cambios, inspeccionar rutas, validar esquemas, combinar archivos y transformar datos para flujos de API y datos.
- [Generadores de esquemas JSON, datos mock y fixtures de API](https://elysiatools.com/es/hubs/json-generate): Herramientas reunidas para generacion de esquemas JSON, construccion de payloads mock y preparacion de fixtures de API en un solo hub.
- [Herramientas de formato, diff y normalización de JSON](https://elysiatools.com/es/hubs/json-format): Compara herramientas de formato JSON, diff, revisión de logs, comparación de configuración y normalización de datos en un solo hub para flujos de revisión de JSON.
