Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2017, 15:19
Кандидат Javascript-наук
Отправить личное сообщение для yaparoff Посмотреть профиль Найти все сообщения от yaparoff
 
Регистрация: 26.04.2016
Сообщений: 106

Найти сумму цифр числа
Есть число 2017, как найти сумму его цифр?
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2017, 15:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от yaparoff
Есть число 2017, как найти сумму его цифр?
Пройтис в цикле по его символам... Преобразовать символ в натуральное число... Суммировать те числа.
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2017, 16:16
Кандидат Javascript-наук
Отправить личное сообщение для yaparoff Посмотреть профиль Найти все сообщения от yaparoff
 
Регистрация: 26.04.2016
Сообщений: 106

Сообщение от ksa
Пройтис в цикле по его символам
Вот именно это и интересует. Как разбить число по символам?
Например, вот так сработает:
'2017'.split('');
- выводиться: 2,0,1,7
А если это делать в функции?
function getNumbersSum(num){
  var result = 'num'.split('');
  alert(result);
}
getNumbersSum(2017);

тогда выводиться: n,u,m - и нет никаких чисел
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2017, 16:19
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

function getNumbersSum(num){
     return num.toString().split('').reduce(function(a, b) {
         return +a + +b;
     })
}
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2017, 16:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от yaparoff
А если это делать в функции?
Например так...

var n=12345;
alert((''+n).split(''));
Ответить с цитированием
  #6 (permalink)  
Старый 17.01.2017, 23:54
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

function getSumNumber(num) {
    var sum = 0, tmp;
    while (num) {
        tmp = num % 10;
        num = (num - tmp) / 10;
        sum += tmp;
    }
    return sum;
}

alert(getSumNumber(2610));

вариант без использования преобразований
Ответить с цитированием
  #7 (permalink)  
Старый 18.01.2017, 05:12
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

var n = 2017;

alert( eval(n.toString().split('').join('+')) );


alert( eval(n.toString().replace(/\d/g, '+$&')) );
Ответить с цитированием
  #8 (permalink)  
Старый 02.01.2021, 19:32
Новичок на форуме
Отправить личное сообщение для anwebsik Посмотреть профиль Найти все сообщения от anwebsik
 
Регистрация: 02.01.2021
Сообщений: 1

Вот ответ фенкцией.
function digitSum(y) {
    let sum = 0, x = String(y);
    
    for (let i = 0; i < x.length; i++) {
        sum += Number(x[i]);
    }
    return(sum)
}

// if alert(digitSum(123)), output is 6.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как найти процент от числа? js Холоп Общие вопросы Javascript 12 20.03.2016 16:44
JS задача. Взаимно простые числа sashok Общие вопросы Javascript 5 23.11.2014 10:16
Найти совпадения из цифр в поле sql arahmanov Серверные языки и технологии 3 25.11.2013 10:59
Логические задачи по циклам wawandas Общие вопросы Javascript 8 04.09.2012 16:46
Помогите найти ошибку((( hacker_007 Общие вопросы Javascript 5 28.01.2011 17:37