@DDanser

Как получить сумму цифр из числа?

Дается функция:
function digitSum(n) {} где "n" любое целое число от 0 до бесконечности.

Только только обучаюсь JS. Дошел только до этого:
var reg = /\d/g;
return +(n.match(reg));


Но не могу понять, числа который возвращаются это строка или массив? Что делать потом? Использовать reduce?
Дайте истинный путь, пожалуйста. Или может быть последовательность рассуждений. Или я, впринципе, в корне неправильно действую? Ответ не надо :) Хочу подразобраться сам.
  • Вопрос задан
  • 17532 просмотра
Решения вопроса 1
crazy_leo
@crazy_leo
Frontend Developer
function digit (number) {
  var figures = "" + number
  var sum = 0

  for (var i = 0; i < figures.length; i++) 
    sum += +figures[i]

  return sum
}

digit(255) // output => 2+5+5 = 12
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
var n = 1234;
var sum = 0;

while (n > 0) {
    sum += n % 10
    n = Math.floor(n/10)
}
Ответ написан
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
'123456'.split('').map(function(e){return parseInt(e)}).reduce(function(a,b){return a+b}); // 21


stackoverflow.com/questions/9138064/sum-of-the-dig...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы