我想基於數組對象的一個屬性start
對數組進行排序。如何通過純JS中的某個字段(如_.sortBy)對對象進行排序?
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();
});
有誰知道發生了什麼事?
小提琴:https://jsfiddle.net/q24zx11h/1/
'sort'函數參數應返回'{-1; 0; 1}'不是布爾值。順便說一句,有沒有理由把日期對象包裹在「時刻」對象中? – zerkms
你不需要做'foo = foo.sort(..)','.sort'有副作用/修改原始數組 –
我只想比較一下所有的時間。我會'時刻(新日期(xxx))'而不是'時刻(xxx)',因爲後者有時會給我發出警告信息。也許我所做的並不是必要的? –