按ID值

时间:2017-10-05 05:47:18

标签: javascript angularjs

我有一组对象数组,其中该对象属性具有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

0 个答案:

没有答案