javascript switch statement/case expression
RGdent’s Question:
I am using a switch statement to search for undefined values to manually change it. but I am having trouble using boolean expressions as I would when using an if statement.
Like: if statemant
if(Item1 == undefined)
{
item1 ="No";
}
else if (Item2 == undefined)
{
item2 = "No";
}
etc..
I tried this with the switch statement:
switch (array) {
case (item1 == undefined):
item1 = "No";
console.log('item1 result', item1 );
break;
case item2 == undefined:
item2 = "No";
console.log('item2 result', item2 );
break;
default:
}
It does not run through the switch statement, except for when I remove == undefined
and only use item1
. then it works?
The switch
cannot evaluate values of the array like that and that is why it does not run through the switch statement. You need to define which value of that array you want to switch.
Inside case statement
you also cannot use expression, you have to use a value there as well.
So, if you are dead set on using switch
for what you are trying to accomplish, you can do something like this:
item1 = array[1];
switch(item1) {
case "undefined":
// so on
break;
}
But, based on your example you are probably trying to check if the values are set or not, for that if
statements are still the best choice rather than switch.
$arr = []; // Your array
if(typeof $arr[0] == "undefined") {
$arr[0] = "No";
}