Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как записать 2 приемлемых ответа в условии? (https://javascript.ru/forum/misc/81197-kak-zapisat-2-priemlemykh-otveta-v-uslovii.html)

kityki 19.10.2020 00:47

Как записать 2 приемлемых ответа в условии?
 
Всем привет,

Задача в общем-то проста: задается вопрос, и пользователь дает ответ либо, например, "Завтра", либо "завтра".

Как записать условие таким образом, чтобы программа как true принимала и тот и другой ответ?

Я пыталась, через ||, но, как оказалось, оно здесь не подходит.

Какие есть варианты записи таких условий? Какие наиболее изящные?

Заранее спасибо
P.S.
Я в js новичок

Код:

<script>

alert('Привет! Давай сыграем в игру!');

let riddle = prompt('Что приходит всегда, но не сегодня?');
let rightAnswer = ('Завтра');

let userAnswer

if (userAnswer == rightAnswer) {
alert('Отлично! Двигаемся дальше!')
} else {
alert('Вышла ошибочка. Ничего, попробуй еще раз!');

}

</script>

kityki 19.10.2020 01:10

Поправила код. Я думаю, что есть решение короче, чтобы такие длинные условия не писать, только не знаю, какие.

<script>

alert('Привет! Давай сыграем в игру!');

let riddle = prompt('Что приходит всегда, но не сегодня?');
let rightAnswer1 = ('Завтра');
let rightAnswer2 = ('завтра');


if (riddle === rightAnswer1) {

alert('Отлично! Двигаемся дальше!')

} else if (riddle === rightAnswer2) {

alert('Отлично, двигаемся дальше!')

} else {
alert('Вышла ошибочка. Ничего, попробуй еще раз!');

}

</script>

Nexus 19.10.2020 02:08

const isRightAnswer = userAnswer => userAnswer.trim().toLowerCase() === 'завтра';

alert(isRightAnswer(' завтра'));
alert(isRightAnswer('Завтра '));

Aetae 19.10.2020 06:34

kityki, || вполне себе подходит, просто писать надо так:
if (riddle === rightAnswer1 || riddle === rightAnswer2)
, а не так
if (riddle === rightAnswer1 || rightAnswer2)
как вы, скорее всего, пытались. Операции в javascript выполняются по порядку, одна за раз.

Но конкретно для решения задачи вариант Nexus, конечно, вернее.

kityki 22.10.2020 01:02

спасибо большое!


Часовой пояс GMT +3, время: 02:52.