JavaScript да воситасидаги махсулотлар ҳисобкитидаги умумий сумма

Энди жадвал остида xаридларнинг умумий суммаси чиқарилишини таъминлаймиз. Бу ерда нуанслар бор.

Вазиятни ўйлаб кўриш шуни тушунтирадики, сумма нафақат янги xарид қўшилганда, балки ўчирилганда ва таxрирланганда ҳам мослашиши керак.

Мен бу ҳолда recountTotal деб аталувчи функция яратишни таклиф қилар эдим, у умумий суммани тўлиқ қайта ҳисоблашни бажаради. Яъни цикл билан барча xаридлар бойлаб ўтиб, уларнинг cost устуни мазмунини йиғиштиради.

Бундай функцияга эга бўлсак, биз уни умумий суммадаги ўзгаришлар кутілган ҳар қандай жойда чақиришимиз мумкин. Албатта, ҳар сафар умумий суммани ҳисоблаш бир оз оптимал эмас. Бирок биз кодни сезиларли даржада соддалаштириб оламиз.

Янги xарид яратилганда таклиф қилинган функциядан фойдаланамиз:

javascriptadd.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(); // умумий суммани қайта ҳисоблаймиз
});

Мана тасвирланган функциянинг тайёрланмаси:

javascriptfunction recountTotal() {
  let costs = table.querySelectorAll('.cost');
  
  if (costs) {
    // суммани топиш ва уни #total га ёзиш
  }
}
Задание 1

Мен тасвирлаган recountTotal функцияни амалга оширинг.