6.4.7 Guards
It is also possible to further restrict patterns with the case ... if(condition): syntax:
var myArray = [7, 6];
var s = switch(myArray) {
case [a, b] if (b > a):
b + ">" +a;
case [a, b]:
b + "<=" +a;
case _: "found something else";
}
trace(s); // 6<=7
The first case has an additional guard condition if (b > a). It will only be selected if that condition holds, otherwise matching continues with the next case.