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”)
,以获取所需内容。

我不需要精确匹配,我需要的是,如果我正在搜索的内容包含在其中。