Backbone集合:检索集合的不同值

时间:2012-07-22 09:27:37

标签: backbone.js underscore.js

我有模型的主干集合,并希望检索某个属性的不同值

如果我将以下数据加载到我的收藏中:

[{brand:'audi',id:'1234'},
{brand:'audi',id:'3456'},
{brand:'bmw',id:'3456'}]

我现在想从该系列中获得不同的品牌。结果应该是:

['audi','bmw']

查看Backbone和Underscore API我没有看到任何明显的事实。 我目前的做法是使用像jslinq

这样的库

我是否遗漏了明显的事情,或者有人比jslinq有更好的建议?

1 个答案:

答案 0 :(得分:16)

您可以使用pluck,然后使用uniq(例如:http://jsfiddle.net/sCVyN/5/

啃削

  

可能是最常见的用例的便捷版本   map:提取属性值列表。

uniq的

  

使用===进行测试,生成无重复版本的数组   对象平等。如果您事先知道阵列已排序,   为isSorted传递true将运行更快的算法。如果你   想要根据转换计算唯一的项目,传递一个   迭代器功能。