【发布时间】:2014-11-05 12:05:21
【问题描述】:
我目前正在开发一个主干应用程序,我想根据各种属性订购我的收藏,我根据成本、持续时间、开始和结束日期(时间戳)对工作进行排序,但我正在努力对基于name属性的集合,这里是我的集合代码,
var ProjectCollection = Backbone.Collection.extend({
url: '/projects',
model: app.Project,
sort_key: "finish_date",
sort_order: 1,
parent_filter: false,
initialize: function() {
var pm = this.get('projectmanager');
this.set("project_manager", new app.User(pm));
var sp = this.get('salesperson');
this.set("sales_person", new app.User(sp));
},
comparator: function (item1, item2) {
return (item1.get(this.sort_key) - item2.get(this.sort_key)) * this.sort_order;
},
sortByField: function(fieldName, orderType) {
this.sort_key = fieldName;
this.sort_order = orderType == "desc" ? -1 : 1;
console.log(this.sort_order);
this.sort();
},
});
有没有办法按字母顺序对字符串进行排序?
我添加了新的比较器功能,这是我通过名称以升序方式排序时得到的输出,
Android 应用程序
Hello World 我是一个项目的新实例
Java 应用程序
西蒙的项目
一些新项目
Symfony 应用程序,
Windows 应用程序
iPhone应用程序
如您所见,iPhone 应用程序不应排在列表的最后。
【问题讨论】:
-
comparator: 'name' -
这只会让我的页面无限加载。
标签: javascript backbone.js backbone.js-collections