Lodash group通过订购

时间:2017-09-01 11:59:30

标签: arrays collections lodash

我按日期排序数组,然后是groupBy日期,但是在第一个对象是2016年之后。

let array = [{date: "2017-06-01", name: 'some'},{date:"2017-05-27",  name: 'someElse'},{date:"2016-12-24", name: 'something'}];
let _data = _.groupBy(array, function(item) {
            return item.date.substring(0,4);
        });

那个输出

{2016: [], 2017: []}

我需要

{2017: [], 2016: []}

1 个答案:

答案 0 :(得分:1)

您的结果是一个包含两个属性20162017的JavaScript对象。它不是一个数组(有序),而是一个对象,其属性在设计上是无序的。

您可以通过执行_.keys(x).sort().reverse().map(...)

之类的操作来按顺序迭代它们