underscore.js中的uniq无效

时间:2015-03-24 09:51:37

标签: underscore.js

请检查此fiddleuniq()功能无效。尝试分离功能但仍无法解决问题。首先将JSON展平,然后使用uniq

1 个答案:

答案 0 :(得分:1)

来自Underscore.js文档:

  

UNIQ
  生成数组的无副本版本,使用===来测试对象相等性。如果您事先知道数组已排序,则为isSorted传递true将运行更快的算法。如果要根据转换计算唯一项,请传递iteratee函数。

因此,您可以尝试使用函数将对象转换为可比较的值。例如:

var res = _.chain(data)
    .flatten()
    .uniq(function(v){ return v.mycount + v.mytype })
    .value();