"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Cómo agregar propiedades en un objeto condicionalmente

Cómo agregar propiedades en un objeto condicionalmente

Publicado el 2024-11-03
Navegar:493

How to add properties in object conditionally

Cómo agregar propiedades en un objeto condicionalmente

Al crear un objeto en JavaScript o TypeScript, es común agregar propiedades de forma condicional, según la evaluación de expresiones. Esto normalmente se hace usando el operador de dispersión (...) en combinación con condiciones lógicas.

const condition = (a, b) → a › b; const obj = {
          a: 1, b: 2,
          ... (false && {c: 3}), 
          ... (true && {d: 4}), 
          ... (condition (1, 2) && {e: 5}),
        }; 
console.log(obj); // output: { a: 1, b: 2, d: 4 }

Explicación

  • false && {c: 3}: esto se evalúa como falso, lo que significa que el objeto {c: 3} no se distribuye en obj.

  • verdadero && {d: 4}: dado que la condición es verdadera, {d: 4} se extiende en obj.

  • condición(1, 2) && {e: 5}: La función de condición evalúa si a > b. Como 1 > 2 es falso, el objeto {e: 5} no se propaga.

Esta técnica es una forma poderosa de mantener la definición de su objeto limpia y concisa mientras agrega propiedades dinámicamente en función de diversas condiciones.

Producción

El objeto final se ve así:
{ a: 1, b: 2, d: 4 }

Declaración de liberación Este artículo se reproduce en: https://dev.to/wadie/how-to-add-properties-in-object-conditionally-11n6?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3