Backbone Collection:自定义比较器
Backbone Collection: custom comparator
我想:通过复杂的条件搜索Backbone.Collection。更确切地说,我有startTime
&TimePeriod
obj的endTime
属性,我想选择属于特定时刻的TimePeriod
。
示例:我有一个等于12045的时刻,我需要查看时间段的集合并检查每个时间段:
belongsToTimeperiod: function(timePeriod, moment) {
return (timePeriod.startTime < moment && timePeriod.endTime > moment);
}
问题:有可能制作Backbone.Collection使用我的比较器吗?如何
代码:[可选]
var TimePeriod = Backbone.Model.extend({
defaults: {
'startTime': '',
'endTime': ''
},
validate: function(attrs) {
if (!startTime) return 'You missed startTime';
if (!endTime) return 'You missed endTime';
}
}
以及这些对象的集合:
var TimePeriods = Backbone.Collection.extend({
model: TimePeriod
});
var searchTerm=...;
function searchModel(int start, int end){
var i=(start+end)/2;
var model=collection.at(i); //http://backbonejs.org/#Collection-at
if(model.get('property')>searchTerm){ //Collection is sorted on this 'property'
return searchModel(start,i);
}else if(model.getProperty()<searchTerm){
return searchModel(i,end);
}
return model;
}
未测试的代码,尚未编写二进制搜索算法。在很长一段时间内。希望它能给你一个想法。
相关文章:
- jQuery自定义验证比较多个输入的序列
- jQuery工具验证器自定义效果-添加&消除影响
- Notepadd++ 或任何编辑器 - 自定义自动完成
- 弗罗阿拉编辑器 - 自定义对话框
- JQuery验证器自定义错误位置不起作用
- Backbone Collection:自定义比较器
- flexiquote旋转器自定义调整
- Html5视频播放器自定义,只显示播放和静音
- 自定义javascript字符串排序比较器
- jQuery验证器自定义方法:如何在同一页面上使用多个表单
- angularJS的时间选择器自定义指令不起作用
- 编辑器自定义样式的img不显示在下拉列表中
- 谷歌标签管理器自定义JavaScript
- jQuery选择器自定义属性
- 日期选择器自定义按钮错误
- Javascript排序自定义比较器函数-排序一个排序数组
- ACE编辑器自定义突出显示规则
- 谷歌跟踪代码管理器自定义计时器事件
- 为什么角顺序自定义比较器不能工作
- Jquery UI日期选择器自定义错误