Angular 下划线JS\u uniq未正确过滤
我在角度项目中使用下划线,以便在数组中删除重复对象。 下划线JS正在筛选,但出于某种原因,它在biddingGroup中一次只保留两个字符串数组。如果其他人发出的出价不在数组中,则会覆盖其中一个数组插槽,而不是追加新行,因为新行不是唯一的。我非常感谢你的帮助 如果你需要更多的信息,请告诉我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
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
)