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

204
Vistas
¿Cómo optimizar una condición que verifica para cada objeto de una matriz de objetos si las propiedades específicas no están definidas?

Quiero la optimización del código para una declaración if porque, de lo contrario, tengo que agregar más pares clave-valor en esta condición con && . Tengo una matriz de objetos y la condición como en el siguiente ejemplo de código.

 let arr = [{ a: 12, b: 14, c: undefined, d: undefined, e: 56, f: "file 1", g: "file 2", h: undefined, }]; for (const item of arr) { if ( item.a !== undefined && item.b !== undefined && item.c !== undefined && item.d !== undefined && item.e !== undefined && item.f !== undefined && item.g !== undefined ) { console.log("code works"); } else { console.log("fails"); } }

Estoy tratando de optimizar el código anterior y agradezco cualquier sugerencia.

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

0

Puede usar Object.values() y some() para escribir un código más corto. Esta no es una gran optimización.

 let arr = [{ a:12, b:14, c:undefined, d:undefined, e:56, f:"file 1", g:"file 2", h:undefined }] for(let key of arr){ if(Object.values(key).some((x) => x===undefined)){ console.log("fails") }else{ console.log("code works") } }

about 4 years ago · Juan Pablo Isaza Denunciar

0

Cree una función que acepte un objeto como argumento, obtenga sus values y luego use some para verificar si alguno de los valores no está undefined . some regresan después de encontrar la primera coincidencia con la condición.

 const arr=[{a:12,b:14,c:undefined,d:undefined,e:56,f:'file 1',g:'file 2',h:undefined},{a:12,b:14,c:3,d:'bob from accounting',e:56,f:'file 1',g:'file 2',h:23},{a:12,b:14,c:3,d:'bob from accounting',e:56,f:'file 1',g:'file 2',h:undefined}]; function test(obj) { const values = Object.values(obj); return values.some(p => p === undefined); } const out = arr.map((obj, i) => { return `Code ${test(arr[i]) ? 'fails' : 'works'}`; }); console.log(out);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Si entiendo el requisito correctamente, tiene propiedades dinámicas en un objeto y desea verificar si todas las propiedades en un objeto tienen valores. En caso afirmativo,

Prueba esto :

 let arr = [{ a:12, b:14, c:undefined, d:undefined, e:56, f:"file 1", g:"file 2", h:undefined }]; arr.forEach(obj => { let str = ''; Object.keys(obj).forEach(key => { str = obj[key] ? 'code works' : 'fails' }) console.log(str); });

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