这取自Backbone.js文档:
var musketeers = friends.where({job: "Musketeer"});
你可以得到一个模型数组,其中job是相等的是“火枪手”。但我如何做相反的事情?我如何得到一个模型数组,其中job是其他任何东西,而不是“火枪手”?
envsm3lx1#
我不知道有什么东西是直接相反的,但你可以使用过滤器来达到同样的效果。
var notMusketeers = friends.filter(function (friend) { return friend.job !== 'Musketeer'; });
tcomlyy62#
如果直接在Backbone集合上使用filter,则必须按以下方式使用:
filter
var notMusketeers = friends.filter(function(model){ return model.get('job') !== 'Musketeer'; });
那么notMusketeers将是一个 Backbone 模型示例数组。如果friends只是一个对象数组(标准集合),则可以按以下方式使用下划线filter:
notMusketeers
friends
var notMusketeers = _.filter(friends, function(obj){ return obj.job !== 'Musketeer'; });
第六版如果您可以使用ES6+功能,则const、解构和箭头函数可以使其不那么冗长:
const
const notMusketeers = friends.filter(({ job }) => job !== 'Musketeer');
2条答案
按热度按时间envsm3lx1#
我不知道有什么东西是直接相反的,但你可以使用过滤器来达到同样的效果。
tcomlyy62#
如果直接在Backbone集合上使用
filter
,则必须按以下方式使用:那么
notMusketeers
将是一个 Backbone 模型示例数组。如果
friends
只是一个对象数组(标准集合),则可以按以下方式使用下划线filter
:第六版
如果您可以使用ES6+功能,则
const
、解构和箭头函数可以使其不那么冗长: