проваливающийся свич быстрее всех, не слушай никого ыы.
первый и третий варианты тратят время на создание массивов/объектов соответственно.
второй вариант, со свичем, ничего не создает, соответственно быстрее.
var X = 52;
console.time('someFunction1');
for (var i=0,x=0; i < 10000; i++) {
if ([52, 62, 72, 82, 92].indexOf(X) !== -1) {
x++;
}
}
console.log(x);
console.timeEnd('someFunction1');
console.log('--------------');
console.time('someFunction2');
for (var i=0,y=0; i < 10000; i++) {
switch (X) {
case 52:
case 62:
case 72:
case 82:
case 92:
y++;
break;
}
}
console.log(y);
console.timeEnd('someFunction2');
console.log('--------------');
console.time('someFunction3');
for (var i=0,z=0; i < 10000; i++) {
if({52:1, 62:1, 72:1, 82:1, 92:1}[X]) { z++; }
}
console.log(z);
console.timeEnd('someFunction3');
10000
someFunction1: 2.541ms
--------------
10000
someFunction2: 1.192ms
--------------
10000
someFunction3: 3.676ms