Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

232
Vistas
JS: ¿agregar condicionalmente agregar en medio de una matriz?

Si tengo una matriz de data ,

 const data = [ { name: "dog", age: 11 }, { name: "cat", age: 21, } ]

Quiero agregar un objeto en medio de eso si una condición es verdadera:

 const shouldAddNewAnimal = true; const animal = { name: "tiger", age : 22, }

¿Cómo escribiría eso sin un else ?

 const data = [ { name: "dog", age: 11 }, foo ? animal : {}; { name: "cat", age: 21, } ]

arriba es la única forma en que puedo pensar en escribirlo, pero no quiero insertar un objeto vacío allí si la condición no es cierta.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Podría extenderse con matrices, una con el objeto deseado y la otra vacía.

 const shouldAddNewAnimal = true, animal = { name: "tiger", age: 22 }, data = [ { name: "dog", age: 11 }, ...(shouldAddNewAnimal ? [animal] : []), { name: "cat", age: 21 } ]; console.log(data);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede utilizar un operador de propagación:

 const foo = true; const animal = { name: "mouse", age: 10 }; const data = [ { name: "dog", age: 11 }, ...(foo ? [animal] : []), { name: "cat", age: 21, } ] console.log(data);

Esto dará como resultado que el animal se extraiga de su matriz envolvente y se agregue a la matriz "externa".

En el caso de la ruta "else", la difusión del null dará como resultado que no se agregue nada a la matriz "externa".

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede lograr esto agregando nulos y filtrándolos de esa manera usando el filter

 const shouldAddNewAnimal = false; const animal = { name: 'parrot', age:12 } let data = [ { name: "dog", age: 11 }, shouldAddNewAnimal ? animal : null, { name: "cat", age: 21 } ].filter(item => item !== null); console.log(data);

 const shouldAddNewAnimal = true; const animal = { name: 'parrot', age:12 } let data = [ { name: "dog", age: 11 }, shouldAddNewAnimal ? animal : null, { name: "cat", age: 21 } ].filter(item => item !== null); console.log(data);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda