2017-10-20 45 views
0

J'ai un objet contenant des objets contenant des objets. Chaque objet a un ordernum. Je veux trier les objets avec l'ordernum le plus bas en premier.Trier les objets dans les objets, javascript

J'ai utilisé la fonction ci-dessous pour trier les tableaux mais j'ai besoin d'aide pour l'ajuster à cette structure.

function(a, b) { 
return parseFloat(a.ordernum) - parseFloat(b.ordernum); 
} 

+6

Les objets ne sont pas l'ordre donc pas sûr comment vous allez les trier. – epascarello

+0

Je venais de visiter [cette question] (https://stackoverflow.com/questions/46849294/sorting-associative-array-of-objects-in-javascript#comment80646393_46849294) il n'y a pas si longtemps ... pourquoi tout le monde veut-il trier les objets aujourd'hui? Bien qu'il soit possible de trier les propriétés avec certaines restrictions, il ne faut pas le faire. – ASDFGerte

+0

Envisagez d'utiliser lodash. Vous pouvez utiliser 'var obj = _.mapKeys (objets, (o) => o.sortField);' et ensuite utiliser '_.sortBy (obj, (o) => o.sortField)' ** AND ** si nécessaire, '_.reverse (obj)' – fungusanthrax

Répondre

0

Peut-être sort + convertir en un tableau, alors:

const result = 
Object.values(yourobject) 
    .sort((a,b)=> a.ordernum - b.ordernum);