Скрипт должен сложить цифры из которого состоит число и вывести результат. Но возвращает 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);
}
Проблема в том, что строки в 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);
}
Продвижение своими сайтами как стратегия роста и независимости