我有一组对象数组,其中该对象属性具有ID号的值。我成功地使用该ID对其进行分组,但是我是通过硬编码来进行的,而不是动态的。
var objBuyUser = response.newIdUserPul[i].arrayUserHistoryBuy;
for (var y = 0; y < objBuyUser.length; y++) {
if(objBuyUser[y].product_id == 1) {
var doesIdExist = vm.pulBms.filter(function(v) {
return v.userid === response.newIdUserPul[i].id;
});
if(doesIdExist.length > 0) {
//do nothhing
} else {
vm.pulBms.push({
userid:response.newIdUserPul[i].id,
buyAct: objBuyUser
});
}
}
objBuyUser[y].product_id == 1
是彼此不同的东西。只要这次我们只有三个ID号1,2,3,我只是通过手动更改id来复制相同的代码。那么,任何人都可以帮助动态制作它吗?
(**)SO:实际上我们有产品清单:1,2,3
在后端,我处理了一个唯一的用户及其历史记录购买,由response.newIdUserPul[i].
分配而arrayUserHistoryBuy
是一个对象数组,详细说明了他们的产品历史记录从日期范围内购买,在对象中可以包含需要在这里分组的日期,数量和product_id(reffer to - > **)。在这种情况下,知道每个用户可以在日期范围内购买不同的产品,我们仍然按产品分组,因为产品存在于购买历史中。
因此输出可能类似于:
ProductID1 :
{
User: 123
ProductBuyHistory :
{
Date: 3-10-10
ProductID : 2,
Quantity: 10
},
{
Date: 4-10-10
ProductID : 1,
Quantity: 10
},
},
{
User: 124
ProductBuyHistory :
{
Date: 3-10-10
ProductID : 3,
Quantity: 10
},
{
Date: 4-10-10
ProductID : 1,
Quantity: 10
},
},
对于productId 2和3