У меня есть массив таких объектов: arrayOfObject = [{id:xxx,price:xxx},{id:xxx,price:xxx},....]
, и я перечисляю его как таблицу с помощью ng-repeat,
Теперь для каждого объекта "id" может быть таким же. Я хочу рассчитать общее количество объектов с одним и тем же идентификатором для каждого другого идентификатора, а затем перечислить общее число в одном столбце. Общее число встречается только на каждом первом объекте с другим id следующим образом:
Как я могу достичь этого, используя ng-repeat или любой удобный способ сделать это?
Большое спасибо.
Вы можете сделать это,
В Js:
$scope.getVolumeSum = function(items) {
return items
.map(function(x) { return x.Id; })
.reduce(function(a, b) { return a + b; });
};
В Html:
<li ng-repeat="(key, items) in data | groupBy: 'Id'">
id: {{key}}, name: {{items[0].name}}, volume: {{getVolumeSum(items)}}
</li>
Рабочий Sample