Вывести итоговые значения для аналогичного ключа для массива объектов в угловой таблице (ng-repeat) - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть массив объектов, которые я хочу отобразить с помощью ng-repeat, а затем отобразить сумму схожих ключей (обратите внимание, что некоторые ключи разные). Вот мой код:

let group =[  
   {  
      name:'Brandon Pack',
      city:NY,
      purchase:25,
      accepted:true
   },
   {  
      name:'Josh Vilet',
      city:Memphis,
      purchase:30,
      accepted:true
   },
   {  
      name:'Brandon Pack',
      city:NY,
      purchase:62,
      accepted:true
   },
   {  
      name:'Patrick Whiteside',
      city:NY,
      purchase:50,
      accepted:false
   },
   {  
      name:'Josh Vilet',
      city:Memphis,
      purchase:50,
      accepted:true
   }
]

Я бы хотел отобразить общую сумму покупки после суммирования общей суммы покупки каждого человека в ng-repeat: Имя

Brandon Pack 
Total purchase : 87
Josh Vilet
Total Purchase : 80
Patrick Whiteside
Total purchase: 50

Большое спасибо

1 Ответ

0 голосов
/ 27 апреля 2018

Как указано в комментарии; Вы можете использовать уменьшить:

let group =[  
  {  
     name:'Brandon Pack',
     city:"NY",
     purchase:25,
     accepted:true
  },
  {  
     name:'Josh Vilet',
     city:"Memphis",
     purchase:30,
     accepted:true
  },
  {  
     name:'Brandon Pack',
     city:"NY",
     purchase:62,
     accepted:true
  },
  {  
     name:'Patrick Whiteside',
     city:"NY",
     purchase:50,
     accepted:false
  },
  {  
     name:'Josh Vilet',
     city:"Memphis",
     purchase:50,
     accepted:true
  }
]

let totals = group.reduce(
  (result,item)=>{
    result[item.name]=result[item.name]||0;
    result[item.name]=result[item.name]+item.purchase;
    return result;
  },
  {}
);

console.log(totals);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...