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

106
Views
cómo obtener el índice dentro del objeto en la matriz para convertirlo en un nuevo objeto basado en el índice más largo

tengo una matriz como esta:

 arrays = [ {"y":"2020","OVO":3}, {"y":"2021","OVO":2,"Dana":1}, {"y":"2019","OVO":2,"Dana":1,"Shopepay":3}, {"y":"2018","OVO":2,"Dana":1,"Shopepay":4,"Gopay":1}, //length = 5 {"y":"2022","OVO":2,"Dana":1,"Shopepay":1} ];

ahora quiero crear una nueva matriz basada en la clave de objeto más larga de las matrices. debería de esto:

 {"y":"2018","OVO":2,"Dana":1,"Shopepay":4,"Gopay":1}, //length = 5

a esto :

 ['OVO','Dana','Shopepay','Gopay']

¿Cómo lograr eso en javascript? gracias de antemano.

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

0

¿Buscas algo como esto?

 const arrays = [ {"y":"2020","OVO":3}, {"y":"2021","OVO":2,"Dana":1}, {"y":"2019","OVO":2,"Dana":1,"Shopepay":3}, {"y":"2018","OVO":2,"Dana":1,"Shopepay":4,"Gopay":1}, {"y":"2022","OVO":2,"Dana":1,"Shopepay":1} ]; const longestArray = arrays.sort((a, b) => Object.keys(a).length - Object.keys(b).length)?.pop(); // sort for most object with most properties console.log(Object.keys(longestArray).slice(1)); // remove first element from array

O como simple frase de una sola línea:

 Object.keys(arrays.sort((a, b) => Object.keys(a).length - Object.keys(b).length)?.pop()).slice(1);
about 4 years ago · Juan Pablo Isaza Report

0

Usa .reduce() para lograr tu objetivo

 arrays = [ {"y":"2020","OVO":3}, {"y":"2021","OVO":2,"Dana":1}, {"y":"2019","OVO":2,"Dana":1,"Shopepay":3}, {"y":"2018","OVO":2,"Dana":1,"Shopepay":4,"Gopay":1}, //length = 5 {"y":"2022","OVO":2,"Dana":1,"Shopepay":1} ]; const max = arrays.reduce((prev, current) => (prev.length > Object.keys(current).length) ? prev : Object.keys(current)).splice(1) console.log(max)

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!