Подскажите почему не срабатывает цикл for
Здравствуйте только изучаю js подскажите почему не срабатывает цикл for внутри, тестирую с while все работает нормально
let personalMovieb = { movies: {} } for (let i = 0; i < 2; i++) { let questOne = prompt('Один из просмотренных фильмо', ''); if (questOne == '') { alert('Поле пустое'); i--; } if (questOne != '') { for (let count = 0; count < 1; count++) { let questTwo = prompt('На сколько оцените его', ''); if (questTwo == '') { alert('Поле пустое'); count = 0; } else { alert('Поле не пустое'); personalMovieb.movies[questOne] = questTwo; } } } } console.log(personalMovieb.movies); Это если заменить на while тогда норм все for (let count = 0; count < 1; count++) { let questTwo = prompt('На сколько оцените его', ''); if (questTwo == '') { alert('Поле пустое'); count = 0; } else { alert('Поле не пустое'); personalMovieb.movies[questOne] = questTwo; } } let count = 0; while (count < 1) { let questTwo = prompt('На сколько оцените его', ''); if (questTwo == '') { alert('Поле пустое'); count = 0; } else { personalMovieb.movies[questOne] = questTwo; count++; } } |
alacka, не совсем понятно зачем тебе вообще циклы for ( ; ; )...
Просто для тренировки? |
Цитата:
- Крутнулся с нулем - Увеличил счетчик - Проверил условие 1<1 - оно ложное - Все. Цикл закончил работу! |
Вариант с циклами for ( ; ; ) тут не совсем уместен... Он больше для перечисления...
Но, как вариант for (let count = 0; count < 1; count++) { let questTwo = prompt('На сколько оцените его', ''); if (!questTwo) { alert('Поле пустое'); count = -1; } else { alert('Поле не пустое'); } } |
Или так...
for (let count = 0; count < 1;) { let questTwo = prompt('На сколько оцените его', ''); if (!questTwo) { alert('Поле пустое'); } else { alert('Поле не пустое'); count++ } } |
Да это больше для тестов
сделал ещё вот так for (let i = 0; i < 2; i++) { let questOne = prompt('Один из просмотренных фильмо', ''); while (questOne == '') { alert('Поле пустое'); questOne = prompt('Один из просмотренных фильмо', ''); } let questTwo = prompt('На сколько оцените его', ''); while (questTwo == '') { alert('Поле пустое'); questTwo = prompt('На сколько оцените его', ''); } personalMovieb.movies[questOne] = questTwo; } все на while немного подругому, оказывается се попроще, а я все усложнял :cray: спасибо, за примеры |
alacka,
:-? let questOne; while (!questOne) { questOne = prompt('Один из просмотренных фильмо', ''); questOne || alert('Поле пустое'); } let questTwo; while (!questTwo) { questTwo = prompt('На сколько оцените его', ''); questTwo || alert('Поле пустое'); } alert(JSON.stringify({[questOne] : questTwo})); |
красиво, но пока не понятно полностью, нужно учить
спасибо questOne || alert('Поле пустое'); это работает как if ? верно ? подскажите как поиска в справочниках - || |
alacka,
questOne || alert('Поле пустое'); тоже что if(!questOne ) alert('Поле пустое'); |
alacka,
https://learn.javascript.ru/logical-operators Цитата:
|
Часовой пояс GMT +3, время: 00:15. |