Помогите поменять форму Switch
на if-else
:
я сделал скрипт чтоб компьютер создал четыре цифры рандомно(от 1 до 9) и добавил их в массив arr потом в <input>
с id="num"
надо разгадать число если правильно то выводится res.innerHTML
а если не правильно создается новый массив.
for(i = 0; i < arr.length; i++){
switch(num){
case arr[0]:
res.innerHTML = "Nice you right" + " : " + num + "<br>";
break;
case arr[1]:
res.innerHTML = "Nice you right" + " : " + num + "<br>";
break;
case arr[2]:
res.innerHTML = "Nice you right" + " : " + num + "<br>";
break;
case arr[3]:
res.innerHTML = "Nice you right" + " : " + num + "<br>";
break;
default:
res.innerHTML = "Неправильно попробуйте угадать число снова";
mass.onclick();
}
function checkInput(arr, num) {
if (arr.indexOf(num) != -1)
return "Nice you right" + " : " + num + "<br>";
return "Неправильно попробуйте угадать число снова";
}
console.log(checkInput([1, 5, 6, 2], 2));
console.log(checkInput([1, 5, 6, 2], 9));
console.log(checkInput([14, 2345, 234234, 42342], 30));
console.log(checkInput([14, 2345, 234234, 42342, 666], 666));
arr.indexOf - возвращает первый индекс, по которому данный элемент может быть найден в массиве или -1, если такого индекса нет.
Собственно, зная это, можете применить у себя данную проверку вместо switch/case
и if/elseif
P.S. по-хорошему checkInput
должен возвращать не надпись, а true/false
, и от него уже танцевать. Но главное, чтоб вы уловили смысл.
if(num == arr[0]){
res.innerHTML = "Nice you right" + " : " + num + "<br>";
} else if(num == arr[1]){
res.innerHTML = "Nice you right" + " : " + num + "<br>";
} else if(num == arr[2]){
res.innerHTML = "Nice you right" + " : " + num + "<br>";
} else if(num == arr[3]){
res.innerHTML = "Nice you right" + " : " + num + "<br>";
} else {
res.innerHTML = "Неправильно попробуйте угадать число снова";
mass.onclick();
}
Вариант который легче поддерживать если увеличить количество цифр.
var check = false;
for(var i in arr){
if(num == arr[i]){
check = true;
break;
}
}
res.innerHTML = check ? "Nice you right" + " : " + num + "<br>" : "Неправильно попробуйте угадать число снова";
if(!check){
mass.onclick();
}
как вариант:
let res.innerHTML = (num === arr[0]) ? "Nice you right" + " : " + num + "<br>" :
(num === arr[1]) ? "Nice you right" + " : " + num + "<br>" :
(num === arr[2]) ? "Nice you right" + " : " + num + "<br>" :
(num === arr[3]) ? "Nice you right" + " : " + num + "<br>":
"Неправильно попробуйте угадать число снова";
или даже так:
let res.innerHTML = ((num === arr[0]) || (num === arr[1]) || (num === arr[2]) || (num === arr[3])) ?
"Nice you right" + " : " + num + "<br>" :
"Неправильно попробуйте угадать число снова";
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Такая проблема , есть кнопки с position:fixed и подвал с position:absolute , при вызове модального окна , пропадает скролл и все смещается на размер скролла
Изучаю Angular 2Решил для изучения попробовать написать на ES6 вместо TS
Вот здесь переменная datatime является результатом парсинга json'aВ консоль она выводится правильно (проверено)