javascriptswitch-statement

Nested switch statement in javascript


Is it possible to use nested switch statement in javascript.

My code is some what look like

switch(id1)
{
case 1:
     switch(id2){
     case 1:{
        switch(id3){
        case 1:{}
        case 2:{}
        }
    }
     case 2:{
        switch(id4){
        case 1:{}
        case 2:{}
        }
     }
}
case 2:
}

If yes then it is a good practice to do or we can use any alternate approach.


Solution

  • Your approach is absolutely fine.

    You can make the switch nesting less complex by using switch (true):

    switch (true) {
      case ((id1 === 1) && (id2 === 1) && (id3 === 1)) :
      case ((id1 === 1) && (id2 === 1) && (id3 === 2)) :
      case ((id1 === 1) && (id2 === 2) && (id3 === 1)) :
      case ((id1 === 1) && (id2 === 2) && (id3 === 2)) :
      case ((id1 === 2) && (id2 === 1) && (id3 === 1)) :
      case ((id1 === 2) && (id2 === 1) && (id3 === 2)) :
      case ((id1 === 2) && (id2 === 2) && (id3 === 1)) :
      case ((id1 === 2) && (id2 === 2) && (id3 === 2)) :
    }