Задать вопрос
@booogabooo

Как преобразовать число в javascript?

Появилась проблемма...
Суть функции: нужно, чтобы функция, которой передается любое число, возвращала сумму цифр...
Вот такой тест должна проходить
Test.assertEquals(sumDigits(10), 1);
Test.assertEquals(sumDigits(99), 18);
Test.assertEquals(sumDigits(-32), 5);


Вот мой код:
function sumDigits(number){
  var string = new String(number);
  var numberOne = string.charAt(0);
  var numberTwo = string.charAt(1);
  var newNumberOne = new Number(numberOne);
  var newNumberTwo = new Number(numberTwo);
  return newNumberOne + newNumberTwo;
}


Первые 2 теста проходит, а с отрицательным числом - нет...Подскажите...
И еще, мне кажется, что код моя как-то криво написан, через одно место...может, это можно было сделать проще...
  • Вопрос задан
  • 2553 просмотра
Подписаться 2 Оценить 2 комментария
Решение пользователя Андрей Э К ответам на вопрос (4)
@kovrovchanin
function sumDigits(number){
  var r = 0;
      (number+'').replace(/-?[0-9]/g,function(n){
            r+=parseInt(n);
      })
  return r;
}
Ответ написан
Комментировать