Datos clave
- Categoría
- Data Processing
- Tipos de entrada
- textarea
- Tipo de salida
- text
- Cobertura de muestras
- 4
- API disponible
- Yes
Resumen
Esta herramienta permite asignar valores por defecto de forma recursiva a objetos JSON complejos utilizando la función _.defaultsDeep de lodash, asegurando que las propiedades faltantes se completen sin sobrescribir los datos existentes.
Cuándo usarlo
- •Cuando necesitas fusionar configuraciones de usuario con valores predeterminados del sistema.
- •Al trabajar con objetos anidados donde solo deseas rellenar propiedades que aún no tienen valor.
- •Para estandarizar estructuras de datos JSON que provienen de múltiples fuentes o APIs.
Cómo funciona
- •Introduce tu objeto principal en el campo de destino.
- •Añade uno o varios objetos fuente que contengan los valores por defecto que deseas aplicar.
- •La herramienta procesa los objetos de forma recursiva, asignando valores solo a las claves que sean 'undefined'.
- •Obtén el objeto resultante con la estructura completa y los valores predeterminados integrados.
Casos de uso
Ejemplos
1. Configuración de usuario con valores base
Desarrollador Frontend- Contexto
- Tengo un objeto de configuración de usuario que a veces omite ciertas propiedades anidadas.
- Problema
- Necesito asegurar que todas las propiedades de configuración tengan un valor base sin perder las preferencias del usuario.
- Cómo usarlo
- Coloco el objeto del usuario en 'Objeto Destino' y el objeto de configuración base en 'Fuente 1'.
- Configuración de ejemplo
-
Destino: {"ui": {"theme": "dark"}}, Fuente 1: {"ui": {"theme": "light", "fontSize": 14}} - Resultado
- El resultado es {"ui": {"theme": "dark", "fontSize": 14}}, manteniendo el tema del usuario pero añadiendo el tamaño de fuente.
2. Normalización de datos de API
- Contexto
- Recibo datos de una API que no siempre incluye todos los campos necesarios para mi lógica de negocio.
- Problema
- Evitar errores de 'undefined' al acceder a propiedades profundas en mi código.
- Cómo usarlo
- Uso el objeto de la API como destino y un objeto con los valores por defecto completos como fuente.
- Configuración de ejemplo
-
Destino: {"meta": {}}, Fuente 1: {"meta": {"version": "1.0", "active": true}} - Resultado
- El objeto resultante ahora contiene la estructura completa de 'meta' con sus valores por defecto.
Probar con muestras
jsonHubs relacionados
Preguntas frecuentes
¿Qué hace exactamente la función defaultsDeep?
Asigna valores de forma recursiva a propiedades indefinidas en un objeto, respetando los valores existentes en el objeto destino.
¿Sobrescribe los valores que ya existen?
No, la herramienta solo rellena las propiedades que son 'undefined', manteniendo intactos los valores definidos en el objeto destino.
¿Puedo usar múltiples objetos fuente?
Sí, puedes proporcionar hasta tres objetos fuente para aplicar capas sucesivas de valores por defecto.
¿Es compatible con objetos profundamente anidados?
Sí, la herramienta recorre toda la jerarquía del objeto para aplicar los valores por defecto en cualquier nivel de profundidad.
¿Qué formato de entrada se requiere?
La herramienta requiere objetos en formato JSON válido en cada uno de los campos de entrada.