Categorías

Valores por defecto profundos

Aplica valores por defecto profundos con lodash _.defaultsDeep

Asigna valores por defecto de forma recursiva a propiedades indefinidas.

Aspectos destacados:

  • Usa lodash _.defaultsDeep
  • Aplica defaults a objetos anidados
  • Solo rellena propiedades undefined

Ejemplo:

  • Destino: {"a":{"b":1}}
  • Fuente 1: {"a":{"b":2,"c":3}}
  • Resultado: {"a":{"b":1,"c":3}}

Ingrese el objeto JSON destino

Primer objeto fuente

Objeto fuente opcional

Objeto fuente opcional

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

Fusión de configuraciones de aplicaciones con esquemas base.
Normalización de respuestas de API que carecen de campos opcionales.
Gestión de estados iniciales en aplicaciones de frontend con estructuras de datos complejas.

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

json

Hubs 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.

Documentación de la API

Punto final de la solicitud

POST /es/api/tools/defaults-deep

Parámetros de la solicitud

Nombre del parámetro Tipo Requerido Descripción
targetObject textarea Ingrese el objeto JSON destino
source1 textarea Primer objeto fuente
source2 textarea No Objeto fuente opcional
source3 textarea No Objeto fuente opcional

Formato de respuesta

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
Texto: Texto

Documentación de MCP

Agregue este herramienta a su configuración de servidor MCP:

{
  "mcpServers": {
    "elysiatools-defaults-deep": {
      "name": "defaults-deep",
      "description": "Aplica valores por defecto profundos con lodash _.defaultsDeep",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=defaults-deep",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Puede encadenar múltiples herramientas, por ejemplo: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, máximo 20 herramientas.

Si encuentra algún problema, por favor, póngase en contacto con nosotros en [email protected]