lodash提供了一个方法_.uniq()
来查找数组中的唯一元素,但使用的比较函数是严格相等===
,而我想使用_.isEqual()
,它满足:
_.isEqual([1, 2], [1, 2])
// true
有没有办法用_.uniq()
执行_.isEqual()
,而无需编写自己的方法?
答案 0 :(得分:4)
从lodash v4开始,有_.uniqWith(array, _.isEqual)
。
来自文档:
var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];
_.uniqWith(objects, _.isEqual);
// → [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]
答案 1 :(得分:2)