Условный метод sum() в JavaScript
У меня возникли проблемы с подсчетом промежуточных итогов в таблице. В основном у меня есть 3 столбца переменных; ФРУКТЫ, ПРОИСХОЖДЕНИЕ и ЦЕНА. FRUIT содержит такие вещи, как "Apple", "Banana", "Orange" и т. Д. Я хочу заполнить таблицу, в которой показана общая цена столбца FRUIT, сгруппированного по значениям в столбце ORIGIN. Возможно, я упускаю простой способ сделать это, но вот что я попробовал.
for(i=0;i<FRUIT.length;i++)
{
if(ORIGIN[i] == "Africa")
{
SUBTOTAL.push(PRICE[i])
}
}
Затем я использую следующий метод, чтобы разрешить мне поместить SUBTOTAL.sum() в мою таблицу, чтобы показать общую стоимость фруктов из Африки:
Array.prototype.sum = function() {
for (var j = 0, L = this.length, sum = 0; j < L; sum += this[j++]);
return sum;
Метод sum работает правильно для полного столбца (например, PRICE.sum()
) но я получаю неправильные промежуточные итоги, используя мое текущее выражение if. Это также сбрасывает цифры в моей таблице, которые ранее были правильными, прежде чем я добавил его, например, PRICE.sum()
,
Любые рекомендации будут с благодарностью!
Большое спасибо, Карл