underscorejs unique不起作用

bin*_*680 3 javascript underscore.js

我试图使用下划线独特的功能,但无法让它工作,这是我的测试代码:

var foo = [ { "a" : "1" }, { "b" : "2" }, { "a" : "1" } ];

_.unique(foo,  function(item, k, v){
    return item.a;
});
console.log(foo);

_.unique(foo, 'a');
console.log(foo);
Run Code Online (Sandbox Code Playgroud)

如上所述:使用Underscore for Javascript删除重复的对象,测试代码在这里:http://jsfiddle.net/bingjie2680/wDvpM/2/,两个都打印出三个对象.我无法弄清楚问题,任何人都可以帮忙吗?非常感谢.

Den*_*ret 6

uniq返回一个新数组.当你省略第二个参数时,函数似乎不喜欢它.

这有效:

var foo2 = _.unique(foo, false, function(item, k, v){
    return item.a;
});
Run Code Online (Sandbox Code Playgroud)

示范