Обща сума в калкулатор за продукти на JavaScript
Нека сега направим така, че под таблицата да се извежда общата сума на покупките. Тук има нюанси.
Ако се замислим върху ситуацията, ще стане ясно, че сумата трябва да се коригира не само при добавяне на нова покупка, но също и при изтриване и при редактиране.
Бих предложил в такъв случай да направим някаква
функция, да я наречем recountTotal,
която ще извършва пълно преизчисляване
на сумата. Това означава, че ще преминава с цикъл през
всички покупки и ще сумира съдържанието на тяхната
колона cost.
Имайки такава функция, ще можем да я извикваме навсякъде, където се предполагат някакви промени в общата сума. Разбира се, не е много оптимално всеки път да изчисляваме общата сума. Но от друга страна ще получим съществено опростяване на кода.
Ще използваме предполагаемата функция при създаване на нова покупка:
add.addEventListener('click', function() {
let tr = document.createElement('tr');
createCell(tr, name.value, 'name');
createCell(tr, price.value, 'price');
createCell(tr, amount.value, 'amount');
createCell(tr, price.value * amount.value, 'cost');
createCell(tr, 'изтрий', 'remove');
table.appendChild(tr);
recountTotal(); // преизчисляваме общата сума
});
Ето заготовка на описаната функция:
function recountTotal() {
let costs = table.querySelectorAll('.cost');
if (costs) {
// намираме сумата и я записваме в #total
}
}
Реализирайте описаната от мен функция recountTotal.