¿Cómo agregar condicionalmente un miembro a un objeto usando JavaScript?

Los objetos son el tipo de datos más importante y son bloques de construcción para JavaScript moderno. Son diferentes de los tipos de datos primitivos como String, Number, Boolean, null, etc. Pero podemos convertir estos tipos de datos en objetos usando la nueva palabra clave. Hay dos enfoques para agregar condicionalmente un miembro a un objeto.

Método 1: este método implica verificar si la condición requerida es verdadera y, en función de eso, se agrega una propiedad al objeto. 

Ejemplo: en este ejemplo, si la condición es verdadera, ‘b’ se agregará como miembro a ‘a’; de lo contrario, no.

Javascript

// Define the object
var a = {};
  
// Check if the condition
// is satisfied
if (someCondition) {
      
    // Add the required 
    // property to the object 
    a.b = 7;
}

Producción:

  • Cuando se cumple la condición:

    {b: 7}
  • Cuando la condición no se cumple:

    {}

Este enfoque también se puede utilizar de forma idiomática, utilizando un operador ternario.

Ejemplo: en este ejemplo, si la condición es verdadera, ‘b’ se agregará como miembro a ‘a’; de lo contrario, no.

Javascript

var a = {
    // Use the ternary operator to check
    // if the property should be added
    // to the object
    b: (someCondition? 7 : undefined)
};

Producción:

  • Cuando se cumple la condición:

    {b: 7}
  • Cuando la condición no se cumple:

    {b: undefined}

Método 2: este método se utiliza para agregar varios miembros a un objeto. La función de biblioteca jQuery $.extend() se usa para este método. Sin embargo, esto no copia propiedades indefinidas al objeto.

Ejemplo:

Javascript

var newObject = $.extend({}, {
  a: conditionA ? 7 : undefined,
  b: conditionB ? 9 : undefined,
    
  // More properties as required
});

Producción:

  • Cuando se cumple la primera condición:

    {a: 7}
  • Cuando ambas condiciones se cumplen:

    {a: 7, b: 9}

Publicación traducida automáticamente

Artículo escrito por ssharan3112 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *