Как решить цикл forEach с TypeError? - PullRequest
0 голосов
/ 09 декабря 2018

Отображается:

TypeError - невозможно прочитать свойство undefined.

В чем здесь проблема?

calcTotal: function(type) {
    sum = 0;
    data.allItems[type].forEach(function() {
        sum += data.totals[type];
        data.totals[type] = data.totals[type] + sum;
        tbudget = data.totals.inc - data.totals.exp;
        console.log(tbudget);
    }
)
},

1 Ответ

0 голосов
/ 09 декабря 2018

Ваш forEach обратный вызов должен иметь несколько аргументов.Вот формат, в соответствии с MDN

arr.forEach(function callback(currentValue[, index[, array]]) { /*...*/ }

Я не знаю точно, как выглядит ваш массив «data», но по крайней мере некоторые из ваших ссылок внутри вашего forEachпочти наверняка должны просматривать каждый член массива, а не сам массив data.Например, я предполагаю, что ваша сумма должна смотреть на каждого участника, что-то вроде этого, возможно, если у каждого участника есть свойство totals, содержащее различные type s:

calcTotal: function(type) {
    sum = 0;
    data.allItems[type].forEach(function(item) {
        sum += item.totals[type];
        // ...
    }
)
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...