• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

235
Views
cómo ordenar una matriz anidada en javascript

estoy tratando de ordenar este tipo de matriz y he dado el resultado esperado a continuación, ¿alguien puede decirme cómo puedo hacer eso? Sé el tipo de matriz única, pero no sé el anidado.

 var list = [ {name: "Bob" , item : [ {price:500},{price: 302} ]}, {name: "Tom" ,item : [ {price: 200} ,{price: 600}] }, ]; expected output// price:200 // price:302 // price:500 // price:600

//probé algo para una matriz normal qué hacer para este tipo de matriz

 list.sort(function(a, b) { return ((a.name < b.name) ? -1 : ((a.name == b.name) ? 0 : 1)); }); for (var i = 0; i<list.length; i++) { alert(list[i].name + ", " + list[i].age); }

​

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

0

Puedes usar guión bajo.

 _.chain(list).map((item) => item.item).flatten().pluck('price').sort().value()

Producción:

 [200, 302, 500, 600]

O si quieres quedarte con las llaves:

 _.chain(list).map((item) => item.item).flatten().sort((a,b) => a.price - b.price).value()

Producción:

 0: {price: 200}, 1: {price: 302}, 2: {price: 500}, 3: {price: 600}
about 3 years ago · Juan Pablo Isaza Report

0

 var list = [ { name: "Bob", item: [{ price: 500 }, { price: 302 }] }, { name: "Tom", item: [{ price: 200 }, { price: 600 }] }, ]; let sortThePrices = []; list.forEach((e) => { e.item.forEach((prop) => { sortThePrices.push(prop.price); }); }); sortThePrices.sort((a, b) => a - b); sortThePrices.forEach((price) => { console.log("Price: " + price); });

Traté de hacer que esta solución al problema sea fácil de entender, espero que esto ayude

about 3 years ago · Juan Pablo Isaza Report

0

 var list = [ {name: "Bob" , item : [ {price:500},{price: 302} ]}, {name: "Tom" ,item : [ {price: 200} ,{price: 600}] }, ]; const compare = ( a, b ) => { if ( a.price < b.price ){ return -1; } if ( a.price > b.price ){ return 1; } return 0; } list.map(val => val.item.sort(compare)) console.log("list: ", list)

¡Espero que esto funcione para usted!

about 3 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 Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error