javascript – Backbone.js:如何通过模型ID数组过滤对象集合?

我有一个充满模型的Backbone.Collection;让我们说模型是汽车.这个系列是一个伟大的汽车名单.我希望能够从列表中选择一些特定的汽车ID,然后才能从这个集合中获得所选的汽车对象.

我的代码块不起作用;我确信有一种方法可以使用Backbone.js / Underscore.js …我对Backbone / Underscore也很新鲜.

CarList = Backbone.Collection.extend({
    model: Car,filterWithIds: function(ids) {
        return this.filter(function(aCar) { return _.contains(ids,car.id); }
    }
});

有什么指针吗?

解决方法

好的,我想我已经知道了.它接近我的原始代码块,但更新的filterWithIds函数在这里.
filterWithIds: function(ids) {
    return _(this.models.filter(function(c) { return _.contains(ids,c.id); }));
}

对于那些跟随CoffeeScript(我)的人来说,这是CoffeeScript版本.

filterWithIds: (ids) -> _(@models.filter (c) -> _.contains ids,c.id)

这是我的答案;任何代码味道?

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...