骨干计数具有属性的集合中的模型数

时间:2016-02-01 21:51:41

标签: javascript backbone.js

我试图获取出现在集合中的模型数量,其中属性值出现在数组中,例如我有一个数组,

var array = [1, 2, 3, 4, 5]

我想从一个集合中获得一个名为status的属性的数量,该属性等于数组中的那个值是否可能?

2 个答案:

答案 0 :(得分:3)

Underscore有一个名为where的方法,您可以使用该方法获取具有属性状态的集合中的模型列表。一旦你得到列表,它只是做list.length

的问题
var status_len = collection.where({status: true}).length 

如果您需要进行更深入的检查,也可以使用_.filter

答案 1 :(得分:1)

您可以筛选出包含在数组中的状态的所有模型,然后获取此结果数组的长度:

var numOfModels = collection.filter(function(model) { 
  return array.indexOf(model.get('status')) !== -1;
}).length;