2017-10-20 124 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);