【发布时间】:2015-09-07 08:50:14
【问题描述】:
我正在尝试根据数组对象的一个属性start 对数组进行排序。
events = _.sortBy(events, function(a) {
return moment(new Date(a.start)).format();
});
这给了我正确的结果。但是,以下没有。
events = events.sort(function(a, b) {
return moment(new Date(a.start)).format() > moment(new Date(b.start)).format();
});
有人知道发生了什么吗?
【问题讨论】:
-
sort函数参数应返回{-1; 0; 1}之一,而不是布尔值。顺便说一句,您是否有理由将日期对象包装在moment对象中? -
不用
foo = foo.sort(..),.sort有副作用/修改原数组 -
我只是想比较一下时间而已。我做
moment(new Date(xxx))而不仅仅是moment(xxx)因为后者有时会给我警告信息。也许我做的事情没有必要? -
好的,我意识到也许我不应该比较字符串。更容易进行
(new Date(b)).getTime()比较。谢谢
标签: javascript sorting momentjs lodash