Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取主干集合中属性不等于某个值的所有模型_Javascript_Backbone.js - Fatal编程技术网

Javascript 获取主干集合中属性不等于某个值的所有模型

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

这来自Backbone.js文档:

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');

从技术上讲,过滤器不返回模型。