Angular 下划线JS\u uniq未正确过滤

Angular 下划线JS\u uniq未正确过滤,angular,typescript,underscore.js,Angular,Typescript,Underscore.js,我在角度项目中使用下划线,以便在数组中删除重复对象。 下划线JS正在筛选,但出于某种原因,它在biddingGroup中一次只保留两个字符串数组。如果其他人发出的出价不在数组中,则会覆盖其中一个数组插槽,而不是追加新行,因为新行不是唯一的。我非常感谢你的帮助 如果你需要更多的信息,请告诉我 var newBidder = [{ bidderId: this.userId }] biddingGroup.push(newBidder); console.log("BEFORE USING U

我在角度项目中使用下划线,以便在数组中删除重复对象。 下划线JS正在筛选,但出于某种原因,它在biddingGroup中一次只保留两个字符串数组。如果其他人发出的出价不在数组中,则会覆盖其中一个数组插槽,而不是追加新行,因为新行不是唯一的。我非常感谢你的帮助

如果你需要更多的信息,请告诉我

var newBidder = [{
  bidderId: this.userId
}]

biddingGroup.push(newBidder);
console.log("BEFORE USING UNDERSCOREJS");
console.log(biddingGroup);

this.uniqueResult = _.uniq(biddingGroup, "bidderId");

console.log("UNIQUE RESULT");
console.log(this.uniqueResult);

查看控制台输出,您的初始数组不是对象数组,而是一个元素数组对象数组:

var biddingGroup = [
    [ { bidderId: xxx } ],
    [ { bidderId: xxx } ]
];
因此结果很好:第二个数组作为第一个数组的副本被删除(两个数组都有一个未定义的
bidderId