# Invertir por

Invierte agrupando por valores con lodash _.invertBy

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

- **Categoría:** Data Processing

- **Palabras clave:** invertir, objeto, lodash, grupo, claves

## Descripción general

Agrupa claves por sus valores o por un valor transformado.

**Aspectos destacados:**
- Usa lodash `_.invertBy`
- Agrupa claves en arrays
- Iteratee de ruta opcional

**Ejemplo:**
- Objeto: `{"a":"x","b":"x","c":"y"}`
- Resultado: `{"x":["a","b"],"y":["c"]}`

## Entradas

- **Objeto** (textarea): Ingrese un objeto JSON
- **Ruta de Iteratee** (text): Ruta de propiedad opcional para transformar valores

## Cuándo usarlo

- Cuando necesitas clasificar elementos de un objeto basándote en valores compartidos.
- Al transformar estructuras de datos para facilitar búsquedas inversas.
- Cuando requieres agrupar identificadores que poseen el mismo atributo o estado.

## Cómo funciona

- Introduce tu objeto JSON en el campo de entrada principal.
- Opcionalmente, especifica una ruta de propiedad (iteratee) si deseas agrupar basándote en un subcampo del valor.
- La herramienta procesa el objeto y devuelve un nuevo JSON donde los valores originales actúan como claves y las claves originales se agrupan en arrays.

## Casos de uso

- Agrupar usuarios por su rol o nivel de acceso.
- Categorizar productos según su estado de inventario o disponibilidad.
- Reorganizar logs de eventos para identificar qué acciones comparten el mismo código de error.

## Preguntas frecuentes

### ¿Qué hace exactamente esta herramienta?

Invierte un objeto agrupando todas las claves que comparten el mismo valor en un array bajo ese valor.

### ¿Qué librería utiliza para el procesamiento?

Utiliza la función `_.invertBy` de la librería lodash.

### ¿Es obligatorio usar la ruta de iteratee?

No, es opcional. Si no se proporciona, la agrupación se realiza directamente sobre los valores del objeto.

### ¿Qué formato de salida obtendré?

Obtendrás un objeto JSON donde cada clave es un valor único del objeto original y su valor es un array con las claves correspondientes.

### ¿Puedo procesar objetos anidados?

Sí, puedes usar la 'Ruta de Iteratee' para apuntar a propiedades específicas dentro de los valores del objeto.

## Herramientas relacionadas

- [Contar por](https://elysiatools.com/es/tools/count-by): Cuenta elementos por clave derivada con lodash _.countBy
- [Valores por defecto profundos](https://elysiatools.com/es/tools/defaults-deep): Aplica valores por defecto profundos con lodash _.defaultsDeep
- [Agrupar por](https://elysiatools.com/es/tools/group-by): Agrupa elementos por clave derivada con lodash _.groupBy
- [Invertir objeto](https://elysiatools.com/es/tools/invert-object): Invierte claves y valores con lodash _.invert
- [Lista de claves heredadas](https://elysiatools.com/es/tools/keys-in-list): Lista claves propias e heredadas con lodash _.keysIn
- [Lista de claves](https://elysiatools.com/es/tools/keys-list): Lista claves propias con lodash _.keys
- [Unzip de Arrays](https://elysiatools.com/es/tools/unzip-arrays): Separa arrays agrupados con lodash _.unzip
- [Zip de Arrays](https://elysiatools.com/es/tools/zip-arrays): Combina arrays por indice con lodash _.zip

## 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
- [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
- [Ejemplos de Rome Toolchain JavaScript](https://elysiatools.com/es/samples/rome): Ejemplos de toolchain JavaScript de Rome incluyendo configuración, linting, formatting, bundling y gestión de proyectos
