@svk44

Почему тут не нужен return?

Нужно найти количество делителей числа n.
Написал:
function getDivisorsCnt(n){
    let counter = 0
    for (let val=1; val<=n; val++){
      if (n % val === 0 ){
        return counter +=1
      } else {
        return counter
      }
    }
    return counter
}
console.log(getDivisorsCnt(12))

Знаю, что будет работать без return в цикле. Но почему он тут не нужен?
  • Вопрос задан
  • 323 просмотра
Решения вопроса 1
nazares
@nazares
Software Engineer
потому что return в цикле прервет цикл после первой же совпадении условия и в итоге посчитает только самый первый делитель его же и вернет.

function getDivisorsCnt(n){
    let counter = 0
    for (let val=1; val<=n; val++){
      if (n % val === 0 ){
        counter +=1
      }
    }
  return counter;
}
console.log(getDivisorsCnt(12))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
01 дек. 2022, в 21:57
300 руб./за проект
01 дек. 2022, в 21:19
500 руб./за проект