Почему не работает цикл? 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));

→ Ссылка