Lazy.js如何通过两个字段选择distinct(uniq)

时间:2014-12-09 15:07:47

标签: javascript

我们正在使用Lazy.js。

如果我选择了一个字段,我知道我可以使用uniq(fieldName)函数来获得不同的结果。

例如:

var uniqueValues = Lazy(someArray)
                   .map(function (e) { return e.fieldName })
                   .uniq()
                   .value();

如何在两个字段上执行相同的操作?

这就是我的尝试:

var uniqueValues = Lazy(someArray)
                   .map(function (e) return { FieldName1 : e.fieldName1, FieldName2 : e.fieldName2 })
                   .uniq();
                   .value();

但这并不是两个领域的区别。

1 个答案:

答案 0 :(得分:0)

uniq可以接受一个函数参数,该参数可以返回运行distinct by的特定字段。

例如:

 var uniqueValues = Lazy(someArray)
        .map(function (e) return { FieldName1 : e.fieldName1, FieldName2 : e.fieldName2 })
        .uniq(function (e) { return e.FieldName1 })
        .value();