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

321
Views
Ordenar una matriz de objetos, utilizando el valor de una clave específica

Actualmente tengo un conjunto de datos que contiene una matriz de objetos que tienen 12 índices y 2 valores cada uno.

Cada uno de los índices contiene las claves 'meses' y 'año'. Meses es un subconjunto y año es un valor de cadena (se podría convertir fácilmente en un int).

Estoy buscando ordenar mi matriz de objetos por el valor de la clave del año

. Por ejemplo, actualmente, mis datos se ven así

 0: {months: {…}, year: "2017"} 1: {months: {…}, year: "2019"} 2: {months: {…}, year: "2018"} 3: {months: {…}, year: "2011"} 4: {months: {…}, year: "2010"} 5: {months: {…}, year: "2012"} 6: {months: {…}, year: "2013"} 7: {months: {…}, year: "2015"} 8: {months: {…}, year: "2014"} 9: {months: {…}, year: "2016"}

Estoy tratando de ordenar esto desde los años más bajos -> más altos. Intenté usar el mapa, pero no pude encontrar la función correcta. Cualquier consejo sería genial, gracias.

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

0

Esto es bastante simple. Ordene la matriz usando la función Array.prototype.sort . Como el year es un valor de cadena, debe analizarlo como un número entero para clasificarlo. Prueba esto-

 const data = [ { months: null, year: "2017" }, { months: null, year: "2019" }, { months: null, year: "2018" }, { months: null, year: "2011" }, { months: null, year: "2010" }, { months: null, year: "2012" }, { months: null, year: "2013" }, { months: null, year: "2015" }, { months: null, year: "2014" }, { months: null, year: "2016" }, ]; data.sort((a, b) => parseInt(a.year) - parseInt(b.year)); console.log(data);

about 4 years ago · Juan Pablo Isaza Report

0

Usando Array.sort pase la función de comparación.

 const arr = [{months:[],year:"2017"},{months:[],year:"2019"},{months:[],year:"2018"},{months:[],year:"2011"},{months:[],year:"2010"},{months:[],year:"2012"},{months:[],year:"2016"},]; const res = arr.sort((a, b) => a.year - b.year); console.log(res);

about 4 years ago · Juan Pablo Isaza Report

0

Prueba esto:

 let data = [ {months: {a: 'a'}, year: "2017"}, {months: {a: 'a'}, year: "2019"}, {months: {a: 'a'}, year: "2018"}, {months: {a: 'a'}, year: "2011"}, {months: {a: 'a'}, year: "2010"}, {months: {a: 'a'}, year: "2012"}, {months: {a: 'a'}, year: "2013"}, {months: {a: 'a'}, year: "2015"}, {months: {a: 'a'}, year: "2014"}, {months: {a: 'a'}, year: "2016"} ]; let sorted = data.sort((a, b) => a.year - b.year); console.log(sorted);

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!