我有这种数组:var foo = [ { "a" : "1" }, { "b" : "2" }, { "a" : "1" } ];我想将其过滤为:var bar = [ { "a" : "1" }, { "b" : "2" }];我尝试使用_.uniq,但是我猜因为{ "a" : "1" }不等于它本身,所以不起作用。有什么方法可以为下划线uniq提供覆盖的equals函数吗?
3 回答

Smart猫小萌
TA贡献1911条经验 获得超7个赞
实施Shiplu的答案。
var foo = [ { "a" : "1" }, { "b" : "2" }, { "a" : "1" } ];
var x = _.uniq( _.collect( foo, function( x ){
return JSON.stringify( x );
}));
console.log( x ); // returns [ { "a" : "1" }, { "b" : "2" } ]
添加回答
举报
0/150
提交
取消