En lo personal no soy muy amigo de las condiciones complejas dentro del switch.
Para un caso como este preferiria una solucion ad hoc que sea más declarativa:
Código Javascript
:
Ver originalfunction matchRanges(ranges, value) {
var current;
for(var i = 0, l = ranges.length; i < l; i++) {
current = ranges[i];
if(current.from < value && current.to >= value) {
return current.fn(value, current.from, current.to);
}
}
}
matchRanges([
{
from: 0,
to: 4,
fn: function(value, from, to) {
alert('El numero está entre 1 y 4');
}
},
{
from: 4,
to: 10,
fn: function(value, from, to) {
alert('El numero está entre 5 y 10');
}
},
{
from: 10,
to: 20,
fn: function(value, from, to) {
alert('El numero está entre 11 y 20');
}
},
], 10)