Если ли метод для складывания цифр числа?
Например:
15 = 1 + 5 = 6
или
584 = 5 + 8 + 4 = 17
Можно брать остатки и округлять:
function digsum(n) {
var sum = 0;
while(n) sum += n % 10, n = Math.floor(n / 10);
return sum;
}
digsum(15) // 6
digsum(584) // 17
function sum(a) {
return a.toString().split('').reduce(function(a, b) { return a + parseInt(b); }, 0);
}
console.log(sum(584))
ES2015
function sum(a) {
return a.toString().split('').reduce((a, b) => a + parseInt(b), 0);
}
console.log(sum(584))
готового метода вроде как нет, можно написать самому, разбить строку на символы и сложить их
function sum(number) {
var digits,
sum = 0;
if(Object.prototype.toString.call(number) == '[object Array]') {
// из комментов - либо (number instanceof Array)
digits = number;
} else {
digits = number.toString().split('')
}
for(var i = 0; i < digits.length; i++) {
sum += parseInt(digits[i]);
}
return sum;
}
Такого метода нет.
function digits_sum(number){
let result = 0;
for(let i = 1; i<number; i=i*10)
result += ((number-number%i)/i)%10;
return result;
}
console.log(digits_sum(1234));
console.log(digits_sum(88));
console.log(digits_sum(5555555555));
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Помогите, пожалуйста, с такой проблемойПытаюсь отправить кроссдоменный запрос c помощью fetch API
На сайте sticky меню при скроле не открываетсяИзначально стиль display: none; при клике вижу в инспекторе, что срабатывает display: block;, но буквально сразу...
На одной страничке располагаются функции инициализации карт от гугл и функция автозаполнения форм тоже от гугла, и они никак не хотят работать...