Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

201
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!