我有这个漂亮的函数,它遍历集合中的模型以获取属性和值。如果找到该值,则返回 true。
在浏览了很多文档之后,我仍然对如何正确遍历集合以及如何搜索它感到有些困惑。由于 underscorejs(在我的情况下为 lodash)被连接到主干中,我确实使用 .each 遍历集合
我没有在后面放一个 else ,if (model.get(attribute)===value)
因为它会在遍历整个集合之前返回 false 。回调函数听起来像不必要的复杂性 - 但也许我错了(我几个月前开始使用 JS)
我会很高兴获得提示和/或更好的解决方案;-) 带有解释。提前致谢。
我使用requirejs,这就是为什么我通过_,Bacbkone ...
下面是集合的样子:
function (_, Backbone, AppModels) {
var QueriesCollection = Backbone.Collection.extend({
model : AppModels.QueryModel,
search: function (attribute, value) {
var found = false;
this.each(function (model) {
if (model.get(attribute)===value) {
found = true;
}
});
return found;
}
});
return {
QueriesCollection: QueriesCollection
};
});