Например, есть число 4654875646578.
Что хочу реализовать:
4+6+5+4+8+7+5+6+4+6+5+7+8 = 75
Число не однозначное. значит
7 + 5 = 12
Число не однозначное, значит
1+2 = 3
Число однозначное - возвращаем 3.
Написал вот такую логику:
function namerSummer(nn) {
//перевожу в значение;
nn = nn.toString();
//создаю массив
nn = nn.split('');
//даю начальное значение
var total = 0;
//проверяю в массиве не одного значения?
if (nn.length != 1) {
//Если значение не одно запускаю цикл.
for (var i = 0; i < nn.length; i++) {
//Прибавляю предыдущую цифру
total += nn[i] << 0;
}
//Запускаю функцию по новой, чтобы проверить сколько знаков в получившемся результате, и если что по новой складываю
namerSummer(total);
//Если в массиве одно значение
} else if (nn.length == 1) {
//Записываю в результат
var total = nn.join('');
}
//Выводим результат
return total;
}
При этом выводится число 75. Что не так делаю? В чем ошибка логики?