gpt4 book ai didi

javascript - Backbone 集合 : custom comparator

转载 作者:行者123 更新时间:2023-12-03 11:47:45 26 4
gpt4 key购买 nike

我想要:通过复杂的条件搜索 Backbone.Collectionio。更准确地说,我有 TimePeriod 对象的 startTimeendTime 属性,并且我想选择 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;
}

未经测试的代码,尚未编写二分搜索算法。在很长的时间。希望它能给你一个想法。

关于javascript - Backbone 集合 : custom comparator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25978951/

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