Javascript 获取主干集合中属性不等于某个值的所有模型
这来自Backbone.js文档:Javascript 获取主干集合中属性不等于某个值的所有模型,javascript,backbone.js,Javascript,Backbone.js,这来自Backbone.js文档: var musketeers = friends.where({job: "Musketeer"}); 在这里,你可以得到一系列的模型,其中的工作是平等的是“火枪手”。但我该怎么做呢?我怎样才能得到一系列的模型,其中job不是“火枪手”?我不知道有什么是直接相反的,但你可以使用一个相同的效果 var notMusketeers = friends.filter(function (friend) { return friend.job !== 'Musk
var musketeers = friends.where({job: "Musketeer"});
在这里,你可以得到一系列的模型,其中的工作是平等的是“火枪手”。但我该怎么做呢?我怎样才能得到一系列的模型,其中job不是“火枪手”?我不知道有什么是直接相反的,但你可以使用一个相同的效果
var notMusketeers = friends.filter(function (friend) {
return friend.job !== 'Musketeer';
});
如果直接在主干集合上使用
过滤器
,则必须这样使用:
var notMusketeers = friends.filter(function(model){
return model.get('job') !== 'Musketeer';
});
var notMusketeers = _.filter(friends, function(obj){
return obj.job !== 'Musketeer';
});
然后,notMusketeers
将是一组主干模型实例
如果friends
只是一个对象数组(标准集合),则可以通过以下方式使用下划线过滤器
:
var notMusketeers = friends.filter(function(model){
return model.get('job') !== 'Musketeer';
});
var notMusketeers = _.filter(friends, function(obj){
return obj.job !== 'Musketeer';
});
ES6
如果您可以使用ES6+功能,const
,则解构和箭头功能可以使其更简洁:
const notMusketeers = friends.filter(({ job }) => job !== 'Musketeer');
从技术上讲,过滤器不返回模型。