Возвращает NaN вместо суммы цифр

95
21 февраля 2021, 13:50

Скрипт должен сложить цифры из которого состоит число и вывести результат. Но возвращает NaN. Почему?

digital_root(16);
function digital_root(n) {
  var result;
    n = n.toString();
  for (var i = 0; i<n.length; i++) {
    n[i] = Number(n[i]);
    result += n[i];
    result = Number(result);
  }
  console.log(result);
}
Answer 1

Проблема в том, что строки в javascript - неизменяемы, поэтому нельзя делать так

n[i] = Number(n[i]);

Вместо этого надо было присвоить значение новой переменной:

digital_root(16); 
 
function digital_root(n) { 
  var result = 0, 
    nStr = n.toString(); 
  for (var i = 0; i < nStr.length; i++) { 
    result += Number(nStr[i]); 
  } 
  console.log(result); 
}

READ ALSO
Есть ли изъяны в данном коде?

Есть ли изъяны в данном коде?

Занимаюсь углубленным изучением JSНаписал простенький класс для автоматического позиционирования absolute элементов относительно любого блока...

144
Динамическая высота у textarea

Динамическая высота у textarea

Всю голову сломал, делаю следующее: копирую текстовый контент в модальное окно-форму в textareaНеобходимо авто-изменение высоты textarea без события...

102
Почему POST запрос не хочет передаваться?

Почему POST запрос не хочет передаваться?

Я попробовал несколько библиотек, но ни одна не дала результатов, пробую вот это:

91
JS не находит картинку для backgroundImage

JS не находит картинку для backgroundImage

Проблема заключается в том, что как только я вкладываю картинку в папку JS ее не видитПроще говоря так работает:

125