Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.05.2021, 16:12
Интересующийся
Отправить личное сообщение для alacka Посмотреть профиль Найти все сообщения от alacka
 
Регистрация: 17.04.2014
Сообщений: 11

Подскажите почему не срабатывает цикл 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, 21.05.2021 в 16:31.
Ответить с цитированием
  #2 (permalink)  
Старый 21.05.2021, 17:12
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

alacka, не совсем понятно зачем тебе вообще циклы for ( ; ; )...
Просто для тренировки?
Ответить с цитированием
  #3 (permalink)  
Старый 21.05.2021, 17:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от alacka
почему не срабатывает цикл for внутри
Он работает как ты ему и написал...
- Крутнулся с нулем
- Увеличил счетчик
- Проверил условие 1<1 - оно ложное
- Все. Цикл закончил работу!
Ответить с цитированием
  #4 (permalink)  
Старый 21.05.2021, 17:20
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Вариант с циклами for ( ; ; ) тут не совсем уместен... Он больше для перечисления...
Но, как вариант

for (let count = 0; count < 1; count++) {
	let questTwo = prompt('На сколько оцените его', '');

	if (!questTwo) {
		alert('Поле пустое');
		count = -1;
	} else {
		alert('Поле не пустое');
	}
}
Ответить с цитированием
  #5 (permalink)  
Старый 21.05.2021, 17:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Или так...

for (let count = 0; count < 1;) {
	let questTwo = prompt('На сколько оцените его', '');

	if (!questTwo) {
		alert('Поле пустое');
	} else {
		alert('Поле не пустое');
		count++
	}
}
Ответить с цитированием
  #6 (permalink)  
Старый 21.05.2021, 21:09
Интересующийся
Отправить личное сообщение для alacka Посмотреть профиль Найти все сообщения от alacka
 
Регистрация: 17.04.2014
Сообщений: 11

Да это больше для тестов

сделал ещё вот так


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 немного подругому, оказывается се попроще, а я все усложнял


спасибо, за примеры
Ответить с цитированием
  #7 (permalink)  
Старый 21.05.2021, 21:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

alacka,

let questOne;
    while (!questOne) {
         questOne = prompt('Один из просмотренных фильмо', '');
        questOne || alert('Поле пустое');
    }

    let questTwo;

    while (!questTwo) {

        questTwo = prompt('На сколько оцените его', '');
        questTwo || alert('Поле пустое');
    }
   alert(JSON.stringify({[questOne] : questTwo}));
Ответить с цитированием
  #8 (permalink)  
Старый 21.05.2021, 22:57
Интересующийся
Отправить личное сообщение для alacka Посмотреть профиль Найти все сообщения от alacka
 
Регистрация: 17.04.2014
Сообщений: 11

красиво, но пока не понятно полностью, нужно учить
спасибо


questOne || alert('Поле пустое');


это работает как if ? верно ?

подскажите как поиска в справочниках - ||

Последний раз редактировалось alacka, 21.05.2021 в 22:59.
Ответить с цитированием
  #9 (permalink)  
Старый 21.05.2021, 22:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

alacka,
questOne || alert('Поле пустое');

тоже что

if(!questOne ) alert('Поле пустое');
Ответить с цитированием
  #10 (permalink)  
Старый 21.05.2021, 23:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

alacka,
https://learn.javascript.ru/logical-operators

Цитата:
Если бы первый аргумент имел значение false, то || приступил бы к вычислению второго
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не срабатывает onclick? jurvrn Общие вопросы Javascript 3 23.04.2021 17:40
вопрос - Почему hover срабатывает на границе браузера а не div а? Conus Элементы интерфейса 1 03.05.2016 09:47
Почему не срабатывает document ready imedia Элементы интерфейса 0 22.04.2016 23:48
Почему то дублируется вывод. Подскажите.. wolfik Общие вопросы Javascript 2 23.04.2013 09:38
Подскажите почему ? AlexNiko Элементы интерфейса 2 08.03.2010 20:32