javascript-sortBy保留键名

我正在尝试对一个对象进行排序,但似乎无法在排序后保留每个对象的键名.

这是我正在排序的示例json

series_data: {
embeded: {
    objectNameA: {
        item: {
        last:{reportdate:2014-10-05, trend:=, change:0, value:0},…},
        first: {reportdate:2013-01-06, trend:?, change:null, value:0},
        high: 1,
        low: 0,
        median: 0.043478260869565216,
        series: [{reportdate:2013-01-06, trend:?, change:null, value:0},…]
    },
    objectNameB: {…}

我需要objectName,因为它在模板中用于描述其他所有内容.

这是我对数据进行排序的方式

var items = _.sortBy(series_data.embeded, function(series, index) {
    return series.cd.last.value
}).reverse();`

当我需要将其设为objectNameA:{…},objectNameB:{…}时,它将返回0:{…},1:{…},2:{…}.

还是更好

0:{objectNameA:{…},…}, 1:{objectNameB:{…},…}

从最高到最低排序时,如何保留或添加objectName?

解决方法:

我认为您无法通过一次调用_.sortBy()来完成此操作.

但是,您可以分两步完成此操作:

>调用_.sortBy()并将每个对象的键分配为属性
>在已排序的数组上调用_.each()以获取所需的对象结构

这是一个示例JSBIN

潜在的问题是对象是属性的无序集合.

上一篇:修改php natcasesort,使“仅字母”优先


下一篇:php-仅对关联数组的奇数元素排序