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

91
Vistas
Compruebe si se cumple una condición antes de insertar una propiedad en la matriz ReactJS

Me preguntaba si alguien conoce un método que me permita insertar una propiedad de datos en una matriz si se cumple una condición. Por ejemplo, el código que estoy usando obtiene datos de una API. Los datos que busco en concreto son las fotos. Aquí está mi código:

 for (const key in petData.animals) { loadedData.push({ id: key, photo: petData.animals[key].photos[0], name: petData.animals[key].name, description: petData.animals[key].description, }); }

Mi problema se debe al hecho de que algunas de las entradas de datos carecen de fotos. Entonces, cada vez que ejecuto la aplicación, aparece un error que dice que las fotos no están definidas. ¿Es posible agregar una condición (y si es así, cómo?) similar a if photo === undefined => use una imagen predeterminada o if the photo === true => use la foto de la API?

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

0

La forma de hacer esto antes de los últimos años era verificar de forma incremental, así:

 for (const key in petData.animals) { let photo = defaultPhoto; if (petData.animals[key].photos && petData.animals[key].photos[0]) { photo = petData.animals[key].photos[0]; } loadedData.push({ id: key, photo: photo, name: petData.animals[key].name, description: petData.animals[key].description, }); }

Sin embargo, ahora tenemos el operador de encadenamiento opcional ( ?. ) y el operador de fusión nula ( ?? ) para que podamos hacer esto de manera más concisa, así:

 for (const key in petData.animals) { loadedData.push({ id: key, photo: petData.animals[key]?.photos?.[0] ?? defaultPhoto, name: petData.animals[key].name, description: petData.animals[key].description, }); }
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