# Recorrer propio

Itera propiedades propias con lodash _.forOwn

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

- **Categoría:** Data Processing

- **Palabras clave:** forOwn, objeto, lodash, iterar, entradas

## Descripción general

Itera propiedades enumerables propias de un objeto.

**Aspectos destacados:**
- Usa lodash `_.forOwn`
- Solo propiedades propias enumerables
- Devuelve una lista ordenada de entradas clave/valor

**Ejemplo:**
- Objeto: `{"a":1,"b":2}`
- Resultado: `[{"key":"a","value":1},{"key":"b","value":2}]`

## Entradas

- **Objeto** (textarea): Ingrese un objeto JSON

## Cuándo usarlo

- Cuando necesitas extraer y listar solo las propiedades directas de un objeto sin incluir las heredadas del prototipo.
- Al preparar datos de objetos para ser procesados en tablas, listas o interfaces que requieren un formato de array.
- Para normalizar estructuras de datos JSON antes de realizar operaciones de filtrado o mapeo adicionales.

## Cómo funciona

- Ingresa tu objeto en formato JSON en el campo de entrada.
- La herramienta aplica la función _.forOwn para recorrer únicamente las propiedades propias del objeto.
- El sistema genera una lista estructurada donde cada elemento contiene la clave y el valor correspondiente.
- Obtienes un resultado limpio y ordenado listo para ser copiado o utilizado en tu flujo de trabajo.

## Casos de uso

- Conversión de configuraciones de objetos a listas para renderizado dinámico en frontend.
- Depuración de objetos complejos para visualizar rápidamente todas sus claves y valores actuales.
- Preparación de datos para serialización en formatos que requieren estructuras de lista plana.

## Preguntas frecuentes

### ¿Qué diferencia hay entre forOwn y un bucle for...in?

_.forOwn solo itera sobre las propiedades propias del objeto, ignorando las propiedades heredadas del prototipo.

### ¿Qué sucede si el JSON ingresado no es válido?

La herramienta requiere un objeto JSON sintácticamente correcto para poder procesar las propiedades correctamente.

### ¿Incluye esta herramienta las propiedades heredadas?

No, la función está diseñada específicamente para excluir propiedades heredadas y centrarse solo en las propias del objeto.

### ¿En qué formato se entrega el resultado?

El resultado se entrega como una lista (array) de objetos, donde cada uno tiene las propiedades 'key' y 'value'.

### ¿Puedo usar esta herramienta con objetos anidados?

La herramienta procesa el nivel superior del objeto proporcionado; para objetos anidados, deberás iterar sobre cada sub-objeto por separado.

## Herramientas relacionadas

- [Asignar con herencia](https://elysiatools.com/es/tools/assign-in-object): Asigna propiedades propias y heredadas con lodash _.assignIn
- [Valores por defecto profundos](https://elysiatools.com/es/tools/defaults-deep): Aplica valores por defecto profundos con lodash _.defaultsDeep
- [Recorrer objeto](https://elysiatools.com/es/tools/for-in-object): Itera propiedades con lodash _.forIn
- [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
- [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

## Ejemplos

- [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
- [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
- [Muestras de Trazado Distribuido](https://elysiatools.com/es/samples/distributed-tracing-samples): Ejemplos completos de trazado distribuido usando Jaeger, OpenTelemetry y herramientas de observabilidad modernas
- [Muestras de Análisis de Logs ELK Stack](https://elysiatools.com/es/samples/elk-stack-samples): Muestras completas de ELK Stack para agregación, procesamiento y visualización de logs en sistemas distribuidos
