@YuretsVusochinskiy

Что на практике чаще используют и лучше: for или while?

Привет, учу JavaScript, а именно сейчас - циклы. Понимаю как они работают и все такое.
Но у меня вопросы:
1. Что на практике чаще используют и лучше: for или while?
2. Понимаю что while более гибкий, но он опасен цикличностью, легко пропустить шаг да и синтаксис не очень у него. Мне нравится for - все указал и все понятно.
3. Поискал в интернете, где сказали что вот white типа крутой и все такое и предложили написать задачу:

Пользователь вводит число от 1 до 10, если ввел это число - значит он молодец. если ввел другое просить ввести число до тех пор пока не введет его правильно, решение предложили сделать на while

Вот пример решения:
var number = prompt('Введите число', 'число должно быть от 1 до 10');
while(number <1 || number >10 || isNaN(number)){
    number = prompt('Неправильное число', 'число должно быть от 1 до 10');
}
alert('super' + number);


Но я его решил переписать на for:
var number = prompt('Введите число', 'число должно быть от 1 до 10');

for(i=1; i<10;i++) {
    if(number <1 || number >10 || isNaN(number)){
        number = prompt('Неправильное число', 'число должно быть от 1 до 10');}
    }
alert('super' + number);


Можете чуть больше строк, но так яснее. А как на практике????
Вовсе запутался)))

Заранее спасибо за ответ
  • Вопрос задан
  • 136 просмотров
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вы решили задачу неверно. Что будет в вашем случае и в примере, если пользователь одиннадцать раз введёт неверное число?
Ответ написан
Комментировать
Как уже сказали, вы все же не правильно решили задачу, если хотите юзать for для этого, то примерно так:
let k = 1, number = prompt();

for (let i = 0; i < k; i++) {
    if (number < 1 || number > 10 || isNaN(number)) {
        number = prompt('Увы... Давайте еще раз', 'Введите число от 1 до 10');
        k++;
    }
}

Но смысл, если для этого создан while.

Что на практике чаще используют

  1. reduce
  2. map
  3. find
  4. filter
  5. includes
  6. some
  7. ever
  8. forEach
  9. for...of
  10. for...in
  11. indexOf
Ответ написан
Ваш ответ на вопрос

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

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