underscorejs _uniq 没有正确过滤
underscorejs _uniq not filtering correctly
我在我的 angular 项目中使用 underscorejs 以删除数组中的重复对象。
Underscorejs 正在过滤,但由于某种原因它在 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
)。
我在我的 angular 项目中使用 underscorejs 以删除数组中的重复对象。 Underscorejs 正在过滤,但由于某种原因它在 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
)。