@saver116
front-end developer

Как разделить цифру на числа и умножить в Javascript?

Не могу понять как разделить и умножить все цифры друг с другом.
разделить получается но не могу понять как умножить с помощью for

var number = "85172",
sNumber = number.toString();
document.write(sNumber)

for(let i = 0; i <= 0; i++){
    document.write()
}
  • Вопрос задан
  • 2780 просмотров
Решения вопроса 4
Simkav
@Simkav
Я бы делал так
1)Число в строку(у вас уже выполнено)
2)Строку в массив(sNumber.split(""))
3)Пройтись Reduce по массиву
Ответ написан
Комментировать
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
Так как Вы спрашиваете с помощью for, то можно сделать так:
var number = "85172";
var rezult = 1; // чтобы избежать умножения на ноль, инициализируем как 1.
for(var i = 0; i <= number.length-1; i++){ // минус 1, так как Вы поставили условие <=, а длина строки на 1 больше, чем максимальный индекс, так как индекс с нуля
  rezult = rezult * Number(number[i]) // обращаемся к цифре в строке по индексу, преобразуем в число и умножаем на предыдущий результат.
}
document.write(rezult) // 560


А вот вариант по современней:
var rez = "85172".split('').reduce(function(acc, item){return acc = acc * item}, 1)
document.write(rez) // 560
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
let digits = "85172"; // в кавычках, значит это строка
let product = 1; // произведение

// у строки есть свойство длины: length
// к букве в строке можно обращаться по номеру её положения
// буква – тоже строка, надо её перевести в число через Number()
for (let i = 0; i < digits.length; i++) {
  const digit = Number(digits[i]); // цифра
  product = product * digit;
}

// умножили. Теперь можно вывести:
console.log(product); // 560
Ответ написан
Комментировать
Tim-A-2020
@Tim-A-2020
Самый простой вариант
"85172".split('').reduce((acc,item) => acc *item, 1);

Ещё вариант
eval("85172".split("").join("*"));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы