Backbone:返回具有特定标记的模型
Backbone: return models that have specific tags
我有一个模型集合,这些模型都有一个标签数组。
如果我想抓取一个只有一个标签的模型,我会这样做:
models.filter(function(x) {
return _.contains(x.get("tags"), 'google');
});
这将获取带有google标签的模型。我遇到的问题是,我不能在那里放更多的标签,我需要它是一个数组。我该如何抓取所有有多个标签的模型(例如:google, yahoo, apple)?contains方法只支持1个字符串,不支持数组
您可以这样使用_.intersection
:
var want_all = ['google', 'yahoo', 'apple'];
models.filter(function(m) {
return _.intersection(m.get('tags'), want_all).length == want_all.length;
});
_.intersection(a, b)
将给你一个数组,其中包含a
和b
共同的所有元素,如果交集与你正在寻找的数组/集合大小相同,那么m.get('tags')
具有你正在寻找的所有元素
相关文章:
- Angular,函数在(模型)工厂中返回值
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- Aurelia绑定-点击按钮返回查看模型
- 续集返回未定义的模型自定义方法
- “渲染骨干模型视图”返回未定义的结果
- Node.js应用程序中从模型层异步返回数据
- Ember.js返回相同的模型
- 保存模型返回错误
- Ember.js:路由返回多个模型,包括一个promise,给出错误
- 在控制器中将 ng 模型值返回为空的指令
- 在视图模型中使用 MVC 视图返回 JsonResult 数据
- 挖空映射对象未由杜兰达尔视图模型返回
- 在我的情况下,ng 模型返回未定义
- Knockout视图模型返回函数(如何?)
- 从AngularJS$scope ng模型返回对象
- 基于User的客户模型返回基于userId而不是customerId的FK属性
- 需要余烬模型返回数组承诺而不是对象
- 如何在 AngularJS 中将数据异步从模型返回到控制器
- Ember JS -无法循环从模型返回的数组,即使它是一个数组
- 从骨干模型返回承诺