Почему не работает цикл? js
Скажите пожалуйста почему у меня не работает цикл и как это исправить? Сначала я не мог понять почему мне в консоль выходило 1, хотя должно другое число, после чего посмотрел в DevTools и по брэкпоинтам понял, что цикл не работает и сразу перескакивает дальше.
function amountOfPages(summary) {
let num = 0;
let lengthOfI = 1;
function calculationlength(t) {
let g = t.toString()
return g.length;
}
for (let i = summary; i < 0; i = i - lengthOfI) {
num = num + 1;
lengthOfI = calculationlength(num);
}
if (num == 0) {
return 1;
} else {
return num;
}
}
console.log(amountOfPages(25));
Ответы (2 шт):
Автор решения: Дамир мухамедзянов
→ Ссылка
Нужно знак поменять
(let i = summary; i > 0; i = i - lengthOfI)
Автор решения: Faraday
→ Ссылка
У вас обратный цикл, а это условие не правильное
for (let i = summary; i < 0; i = i - lengthOfI)
Замените на это
for (let i = summary; i > 0; i -= lengthOfI)
function amountOfPages(summary) {
let num = 0;
let lengthOfI = 1;
function calculationlength(t) {
return t.toString().length;
}
for (let i = summary; i > 0; i -= lengthOfI) {
num += 1;
lengthOfI = calculationlength(num);
}
return num > 0 ? num : 1;
}
console.log(amountOfPages(25));