2017-10-20 173 views
0

我有一個包含對象的對象,其中包含對象。每個對象都有一個ordernum。我想先排序最低ordernum的對象。在對象中排序對象,javascript

我在排序數組時使用了函數bellow,但我需要幫助將它調整到這個結構。

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

+6

對象沒有秩序,不知道你將如何對它們進行排序。 – epascarello

+0

我剛剛訪問[這個問題](https://stackoverflow.com/questions/46849294/sorting-associative-array-of-objects-in-javascript#comment80646393_46849294)不久前...爲什麼每個人都想要今天排序對象?雖然可以對某些限制的屬性進行排序,但不應該這樣做。 – ASDFGerte

+0

考慮使用lodash。你可以使用'var obj = _.mapKeys(objects,(o)=> o.sortField);'然後使用'_.sortBy(obj,(o)=> o.sortField)'** AND ** if需要,'_.reverse(obj)' – fungusanthrax

回答

0

也許排序+轉換爲數組則:

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