如何查找特定数组项是否存在使用JQuery + Backbone.js

时间:2016-04-16 12:52:13

标签: javascript jquery backbone.js

每个ArrayItem都不包含。属性如Id,Name,Description等 但是我们希望在Name Property的帮助下获取ArrayItem。

所以请在Jquery或backbonejs中给我代码建议,而不使用for循环。

1 个答案:

答案 0 :(得分:-1)

如果您使用BackboneJS,则表示您已安装UnderscoreJS。 Underscore有几种搜索集合的方法。例如,使用_.findWhere(...)

var myArray = [ ... ];
var helpItem = _.findWhere(myArray, { name: 'help' });

这将返回数组中第一个name属性等于'help'的条目。 _.findWhere(...)也可以匹配多个属性。如果要查找除直接属性相等之外的项目,可以使用_.find(...)

var overTwentyOne = _.find(myArray, function(entry) {
    return entry.age > 21;
});

这将返回age属性大于21的数组中的第一个条目。

另请注意,Underscore中的大多数以列表为中心的方法会自动混合到所有Backbone.Collection个实例中。因此,如果您正在搜索集合,上面的findWhere(...)示例可以更简单地写为:

var helpItem = collection.findWhere({ name: 'help'});

这将返回Backbone.Model的第一个collection实例,该实例的属性name等于help