Backbone.js按名称筛选集合
我有以下收藏:Backbone.js按名称筛选集合,backbone.js,Backbone.js,我有以下收藏: [ { name: "sally" }, { name: "john" } , { name: "harry" } ] 我想按名称筛选,即使名称包含在其中 例如: 如果我按“s”进行筛选,我希望它捕获{name:“sally”}主干使用下划线JS,因此来自下划线的筛选器在主干集合上工作 如果您的收藏是主干收藏 var publishedBooks = books.filter(function(item) { return item.name.indexOf(
[ { name: "sally" }, { name: "john" } , { name: "harry" } ]
我想按名称筛选,即使名称包含在其中
例如:
如果我按“s”进行筛选,我希望它捕获{name:“sally”}主干使用下划线JS,因此来自下划线的筛选器在主干集合上工作 如果您的收藏是主干收藏
var publishedBooks = books.filter(function(item) {
return item.name.indexOf('something') !== -1;
});
只需在集合中定义一个调用
过滤器的函数即可:
var People = Backbone.Collection.extend({
// ...
filterByName: function(str){
return this.filter(function(item) {
return item.get("name").indexOf(str) > -1;
});
}
});
然后,您可以调用myCollection.filterByName(“s”)
,以获取所需内容。我不需要精确匹配,我需要的是,如果我正在搜索的内容包含在其中。