gpt4 book ai didi

backbone.js - 使用下划线根据日期对集合进行排序

转载 作者:行者123 更新时间:2023-12-04 02:33:01 28 4
gpt4 key购买 nike

我有一个主干集合,其中有一堆带有与其关联的日期属性的模型。我想根据日期对它们进行排序。所以最晚的日期在前,依此类推。
解决这个问题的最佳方法是什么。

日期的格式是这样的,一个基本的日期对象。日期 {2012 年 3 月 5 日星期一 23:30:00 GMT-0500 (EST)}

谢谢

最佳答案

您有 Date 对象,因此您可以使用 getTime 将它们转换为数字,然后取反这些数字以首先获得最近的日期。如果你想保持你的收藏排序,那么像这样的比较器:

C = Backbone.Collection.extend({
//...
comparator: function(m) {
return -m.get('date').getTime();
}
});

会做的伎俩。演示(请打开您的控制台): http://jsfiddle.net/ambiguous/htcyh/

Backbone 收藏也 include下划线的 sortBy 所以你可以做一次排序:
var sorted = c.sortBy(function(m) { return -m.get('date').getTime() });

演示: http://jsfiddle.net/ambiguous/FF5FP/

或者你可以使用 toArray 获取一个普通的 JavaScript 数组并使用标准 sort 不使用 getTime :
var sorted = c.toArray().sort(function(a, b) {
a = a.get('date');
b = b.get('date');
if(a > b)
return -1;
if(a < b)
return 1;
return 0;
});

演示: http://jsfiddle.net/ambiguous/QRmJ4/

关于backbone.js - 使用下划线根据日期对集合进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9540770/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com