Трудно сказать, не увидев HTML или работающего примера, но я бы изменил пару вещей.
Как говорили другие комментаторы, используйте console.log
, чтобы увидеть частичное выполнение вашего кода. и посмотреть, где число является Nan.
Я бы также изменил эту строку, где ошибка, вероятно, происходит:
if(parseInt(expenseVal[i].value))
на:
if (!isNaN(expenseVal[i].value)) {
To убедитесь, что номер действителен и является числом; Кроме того, при использовании parseInt передайте второй аргумент, чтобы убедиться, что числа анализируются как действительные, и об ошибках, как это parseInt(incomeVal[i].value, 10)
. Также не имеет отношения, но для этого случая также подойдет карта или функция сокращения.