代码之家  ›  专栏  ›  技术社区  ›  four-eyes

按日期排序ImmutableJS和Moment()

  •  0
  • four-eyes  · 技术社区  · 6 年前

    我有一个 array 属于 objects . 物体有钥匙 date . 这个 日期 是一个 moment 格式化 ,创建方式如下: moment('1970-11-11') .

    如何按日期按升序/降序排列数组?

    arrayOfObjects.sort((a, b) => b.get('date') - a.get('date');
    

    arrayOfObjects.sort((a, b) => b.get('date').format('DD.MM.YYYY') - a.get('date').format('DD.MM.YYYY'))
    

    不排序。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Akrion    6 年前

    请原谅我问一下,如果我没听错的话,你有 moment 数组中的对象完全能够进行日期计算和差异。如果是这样,为什么不:

    var data = [moment('1972-11-11'), moment('1971-11-11'), moment('1973-11-11')]
    
    const result = data.sort((a,b) => a.diff(b))  // change to b.diff(a) for desc
    
    console.log(result)
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

    diff . 不用了 date/unix 等。

        2
  •  0
  •   Manish Jangir    5 年前

    试试这个:

    arrayOfObjects.sort((a, b) => b.get('date').unix() - a.get('date').unix());