您不能以这种方式访问Backbone.Collection
方法(希望我没有错),但您可能知道大多数 Backbone 方法都是基于 Underscore.js 的方法,这意味着如果您查看where
方法的源代码,您会发现它使用了 Underscore。 jsfilter
方法,所以这意味着你可以实现你想要的:
var filteredResults = this.collection.chain()
.filter(function(model) { return model.get('county') == yourCounty; })
.groupBy(function(model) { return model.get('city') })
.each(function(model) { console.log(model); })
.value();
.value()
在这里对您没有任何用处,您正在.each
为每个模型的方法内部制作“东西”,但是如果您想说返回一组过滤后的城市,您可以使用.map
并且 infilteredResults
将是您的结果
var filteredResults = this.collection.chain()
.filter(function(model) { return model.get('county') == yourCounty; })
.map(function(model) { return model.get('city'); })
.value();
console.log(filteredResults);