javascript - 按日期排序 ImmutableJS 和 Moment()

标签 javascript sorting momentjs immutable.js

我有一个对象数组。这些对象具有键日期date 是一个 moment 格式的 date,创建方式如下: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'))

不对它进行排序。

最佳答案

请原谅我的提问,但如果我理解正确的话,您在该数组中有 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等。

关于javascript - 按日期排序 ImmutableJS 和 Moment(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52759762/

相关文章:

javascript - 使用 webpack (Babel/ES6) 导入 moment-timzone 和 moment-range

javascript - React - 从子表单组件更新父状态

javascript - 在两个嵌套函数之间共享变量时遇到问题

linq - 使用 LINQ 按字典顺序对整数序列进行排序

javascript - 从数字输入计算最佳拟合

xml - XSLT 排序 - 如何使用属性对父节点内的 xml 子节点进行排序

javascript - Moment.js 将分钟时间添加到小时时间 :minutes

javascript - 如何在不失去可扩展性的情况下为网页(HTML/JS)制作动画?

javascript - 为什么我没有得到返回值javascript

javascript - 当年份设置为20年时防止Moment js猜年份