0
Why does the if else if else not work
I tried to "if" multiple things ( if a = 1 or 2, do something) i tried this code var input=prompt(""); if (input === "hi", "bye"){ console.log("1"); } else if (input === "yo", "hey"){ console.log("10"); } else { console.log("0"); } note: i already tried if (input = / == / ===) for the more visual thinkers and to test your solution: https://code.sololearn.com/WZ6kZfN2UqHH/?ref=app
6 Réponses
+ 1
To avoid long if statements and keep them clear you can store your values in array and check if the value exists there.
var array = ["hi", "bye"];
var array2 = ["ey", "yo"];
var input = prompt("enter a word");
if(array.indexOf(input) > -1) {
console.log("1");
} else if(array2.indexOf(input) > -1) {
console.log("10");
}
+ 1
There were a couple of mistakes, basically on the if statement. When you must test a value of a variable the right syntax is ==.
Plus, if you got to test if if a variable is this OR that value the correct syntax for the OR test is ||.
Here’s the correct code:
function func(){
var input = prompt("enter a word");
if (input == "hi" || input == "bye"){
console.log("1");
}
else if (input == "ey" || input == "yo"){
console.log("10");
}
else if (input == "bonjour" || input == "hoi"){
console.log("11");
}
else {
console.log("0");
}
}
+ 1
1. I am testing a string
2. Is there really no shorter way, because I have to test for about 16 numbers and give the same output, so do I have to write " input === "string" ||" 16 times in one if statement?
+ 1
I’ve tested my code and works fine, in 20 years of development I’ve never ever used a sigle time the === test :)
It really depends, maybe it’s the case to use the “switch” statement.. (and remember the “break;” at the end on any single case!)
+ 1
Thanks all for the answers, but I marked the shortest answer as the best, but all of you, thanks