#javascript #typescript
#javascript #typescript
Вопрос:
У меня есть такой объект:
{id: 1, planningVerId: 1, planningVersion: null, p1: 0, p2: 0, p3: 0, p4: 45, p5: 55, p6: 0, p7: 0,…}
До p12
.
Позже в коде я добавляю sum
свойство к объекту. Теперь я хотел бы суммировать p1-p12
значения следующим образом:
for (const prop in result) {
if (prop.startsWith('p') amp;amp; prop.length <= 3) { result.sum = Number(result[prop]) };
}
Я проверил это с помощью консоли, я получаю правильные значения, но результат есть NaN
.
Почему?
Ответ №1:
result.sum
вначале не определено. Так result.sum 3
что дает NaN
:
let result = {}
result.sum = 1
console.log(result.sum);
Установите result.sum = 0
перед циклом, и он должен работать.
Комментарии:
1. Действительно. Я закомментировал код, где я добавляю свойство ‘sum’ к объекту, и, конечно, в данном случае оно было неопределенным.