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

174
Views
¿Cómo puedo acceder a un atributo específico de un objeto que está dentro de una matriz de objetos?

Tengo una función llamada "howmanyOnline" que recibe un objeto users . Cada usuario tiene una propiedad online que es un booleano. Debería devolver el número de usuarios con la propiedad en línea igual a verdadero.

Por ejemplo, cuántos en línea (usuarios) devuelve 2 este el objeto de objeto:

 let users = { Victor: { age: 33, online: true }, joan: { age: 25, online: true }, frank: { age: 25, online: false }, Emy: { age: 24, online: false } }; function howmanyOnline(users) { }

¿Cómo puedo hacer esto?

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Hay muchas maneras de hacer esto, pero las más comunes son una de las siguientes:

Use array.filter después de obtener los valores del objeto para filtrar solo a los usuarios que están en línea y luego tome la cuenta de esa matriz. Este método toma una función de devolución de llamada, y es la forma más 'javascripty' de hacer esto.

 const values = {one: {a: 1}, two: {a: 2}, three: {a: 3}}; const arr = Object.values(values); // filter down to only the elements which a value >= 2 under key 'a' const filtered = arr.filter(obj => obj.a >= 2); filtered.length; // 2

Comience con una variable inicializada en 0, luego map o itere el objeto e incremente la variable en 1 por cada usuario que esté en línea.

 let count = 0; const values = {one: {a: 1}, two: {a: 2}, three: {a: 3}}; // check if the value under key 'a' is >= 2, if so add 1 to count, // otherwise add 0 for(value in values){count += values[value]['a'] >= 2 ? 1 : 0}; count; // 2
about 4 years ago · Juan Pablo Isaza Report

0

 let users = { Victor: { age: 33, online: true }, joan: { age: 25, online: true }, frank: { age: 25, online: false }, Emy: { age: 24, online: false } }; function howmanyOnline(users) { let count = 0; for (const { online } of Object.values(users)) { if (online) count += 1; } return count; } console.log(howmanyOnline(users));

about 4 years ago · Juan Pablo Isaza Report

0

Esto debería funcionar utilizando un bucle for para obtener el valor en línea y una declaración if para comprobar si es cierto.

 let users = { Victor: { age: 33, online: true }, joan: { age: 25, online: true }, frank: { age: 25, online: false }, Emy: { age: 24, online: false } }; let number =0 function howmanyOnline(users) { for(let value of Object.values(users)){ if(value.online) number++ } return number } console.log(howmanyOnline(users))

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!