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

164
Views
Filtrado de objetos anidados a través de atributos con Javascript-

Tengo una matriz de objetos anidados, quiero filtrar esto para devolver solo el objeto tjat contiene un autor que tiene una edad === 21.

Intenté implementar esta respuesta SO , pero sigo devolviendo 'x no es una función'.

 let arrayOfElements = [ { author: { name: 'Kim', age: 21 }, employment: { employer: 'Logiothech', role: 'Human Resources' } } { author: { name: 'John', age: 62 }, employment: { employer: 'Logiothech', role: 'Human Resources' } } { author: { name: 'Mary', age: 31 }, employment: { employer: 'Logiothech', role: 'Human Resources' } } ];

Lo que he intentado: (creo que estoy usando subElements incorrectamente, pero no estoy seguro de qué reemplazar correctamente en su lugar)

 let filteredMap = array_of_elements.map((element) => { return {...element, subElements: element.subElements.filter((subElement) => subElement.author.age === 21)} })
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Solo necesita el método de matriz .filter. el método .map es cuando desea realizar un cambio en cada elemento de la matriz. Esto es lo que se me ocurrió:

 let filteredArray = arrayOfElements.filter((element) => element.author.age == 21)

Código completo:

 let arrayOfElements = [ { author: { name: 'Kim', age: 21 }, employment: { employer: 'Logiothech', role: 'Human Resources' } }, { author: { name: 'John', age: 62 }, employment: { employer: 'Logiothech', role: 'Human Resources' } }, { author: { name: 'Mary', age: 31 }, employment: { employer: 'Logiothech', role: 'Human Resources' } } ]; let filteredArray = arrayOfElements.filter((element) => element.author.age == 21) console.log(filteredArray)

about 4 years ago · Juan Pablo Isaza Report

0

Podría estar equivocado, pero parece que lo estás pensando demasiado. Prueba esto:

 arrayOfElements.filter(element => element.author.age === 21);

Esto devolverá una matriz de objetos (en este caso uno) que tienen un autor cuya edad es 21.

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!