过滤掉集合中的重复条目

时间:2013-02-20 14:46:01

标签: backbone.js

当从集合中使用Backbone填充下拉列表时,我将如何不添加重复条目,例如具有相同(在这种情况下)组织名称的条目?

目前我拥有的是这个,它填充了一个下拉列表:

[[ _.each(facilities.toJSON(), function(item) { ]]
    <option value="{{ item.ID }}">{{ item.OrganisationName }}</option>
[[ }); ]]

1 个答案:

答案 0 :(得分:1)

您可以在集合上实现辅助方法:

var Facilities = Backbone.Collection.extend({
  getUniqueByProperty: function(propertyName) {
    return _.unique(this.toJSON(), function(item) {
      return item[propertyName];
    });
  }
});

用法:

[[ _.each(facilities.getUniqueByProperty('OrganisationName'), function(item) { ]]
  <option value="{{ item.ID }}">{{ item.OrganisationName }}</option>
[[ }); ]]

/未经测试的代码示例