У меня есть массив объектов, содержащих поле количества. Я ищу общее одно поле из массива на экране обзора на столе.
У меня есть массив администраций, заполненных объектными полями, и тот, который я хочу рассчитать, — это «количественное поле».
<tr class = "primary" *ngFor = "let medication of sachets">
<td>{{medication.administration.quantity}}</td>
<td>
{{medication.medicationName}}
<p class = "instructions">{{medication.additionalInstructions}}</p>
</td>
</tr>
В таблице я вычисляю длину записей, используя angulars .length
Я хочу рассчитать итог для массива величин.
Так в чем проблема, с которой вы столкнулись? Если вы пытаетесь сделать итог в шаблоне, я бы предложил вместо этого установить свойство с итогом в коде компонента и привязать его к шаблону, чтобы вы не перебирали массив в цикле в каждом цикле дайджеста.
Вы также можете реализовать канал stackoverflow.com/questions/42164896/…
@adam0101 Adam0101 проблема заключается в циклическом просмотре каждого поля количества, чтобы суммировать его, поле находится в массиве объектов, и я просто пытаюсь вычислить их общее количество.
Найдено решение для фильтрации и добавления значений. Я использовал функцию .map для создания массива значений количества и, используя .reduce, сложил их вместе, чтобы получить желаемую сумму.
totalFunction() {
const initialValue = 0;
this.totalQuantity = this.administered.map
(item => item.administration.quantity).reduce(
(previousValue, currentValue) => previousValue + currentValue,
initialValue);
console.info(this.totalQuantity);
}
Вам понадобится функция, которая обращается к каждому количеству и суммирует их. Вот нативный пример JS: Ответ Патрика Лейба в Лучший способ суммировать значение свойства в массиве. Эта функция может быть либо в коде вашего компонента, либо непосредственно в вашем шаблоне.