Considere tabelas de pesquisa em vez de switch ou if / else

Existem alguns métodos para fazer distinções entre diferentes possibilidades. Você pode usar cláusulas if-else:

function ifElseTest(stuff) {
if(stuff === "pizza") {
return "food";
} else if (stuff === "house") {
return "building";
} else if (stuff === "air") {
return "nothing";
}
};

Ou mude:

function switchTest(stuff) {
switch (stuff) {
case "pizza":
return "food";
break;

case "house":
return "building";
break;

case "air":
return "nothing";
break;
}
};

Mas existe um possível mais rápido ( http://jsperf.com/if-switch-lookup-table/1 ) – uma tabela de pesquisa simples na forma de um objeto:

var lookupTable = {
"pizza": function() {
return "food";
},
"house": function() {
return "building";
},
"air": function() {
return "nothing";
}
};

apenas ligue

lookupTable["condition"]()

para escolher a conclusão desejada.

Atualização:
Com certeza você deve usar esta técnica com cuidado. Nem sempre é a melhor solução. Especialmente quando você lida com condições de inteiros em vez de strings (consulte http://coderwall.com/p/doeskg ).