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

270
Views
JavaScript, ¿puedo acceder directamente a una propiedad dentro de una propiedad en el objeto?

En este objeto, quiero imprimir una matriz en forma de [nombre de usuario, habilidades]. Sé que estos objetos no tienen índices. ¿Es posible detectar la propiedad de skills y solo imprimir el valor de eso?

 const users = { Alex: { email: 'alex@alex.com', skills: ['HTML', 'CSS', 'JavaScript'], age: 20, isLoggedIn: false, points: 30 }, Asab: { email: 'asab@asab.com', skills: ['HTML', 'CSS', 'JavaScript', 'Redux', 'MongoDB', 'Express', 'React', 'Node'], age: 25, isLoggedIn: false, points: 50 }, Brook: { email: 'daniel@daniel.com', skills: ['HTML', 'CSS', 'JavaScript', 'React', 'Redux'], age: 30, isLoggedIn: true, points: 50 } }

Primero probé el código a continuación, pero hubo un error de que no puede leer las propiedades de undefined (lectura 0).

 let userId = Object.keys(users); //(3) ['Alex', 'Asab', 'Brook'] for (let i = 0; i < userId.length; i++) { let userSkills = users.userId[i].skills; console.log(userId, userSkills); }

¿Es la única forma en que verifico todas las habilidades una por una como se muestra a continuación?

 console.log(users.Alex.skills); console.log(users.Asab.skills); console.log(users.Brooks.skills);
about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Ya casi estás ahí -

 for (let i = 0; i < userId.length; i++) { let userSkills = users[userId[i]].skills; console.log(userId[i], userSkills); }

Utilice la notación de corchetes en lugar de la notación de puntos. Porque todo el tiempo la notación de puntos no es aceptable. Me gusta: .number, .dependingValue, .anyCalculation, numericValue.something

Javascript mezcla decimal.

Lea más: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors

about 4 years ago · Juan Pablo Isaza Report

0

let userId = Object.keys(users); //(3) ['Alex', 'Asab', 'Brook'] userId.forEach(u=> { console.log(users[u].skills); });
about 4 years ago · Juan Pablo Isaza Report

0

Como se dijo en los comentarios, debe usar la notación de corchetes.

Enlaces:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_accessors

https://javascript.info/objeto

Además, puede usar esto para acortar su código:

 userId.forEach(user => console.log(users[user].skills));

Acerca de los métodos de matriz que puede leer aquí:

https://javascript.info/array-methods

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!