Q:

Как получить индекс массива по его ключу в JS? 

Есть массив объектов:
var arr = [2 : {}, 5: {}];

Как зная key получить индекс? 
Например для 2 индекс будет 0

A:

На прямую - никак: у тебя попросту нет arr[0];
Однако, если тебе неприменно зачем-то нужно такое получить, можешь сделать пользовательскую функцию с перебором массива и возвращением номера.  Что-то вроде такого
var arrIndex = function(key, arr){
  var i = 0; 
  for(var k in arr){if(k===key){return i;} i++;}
  return false;//если не совпало
}
var index = arrIndex(5,arr);//вернет 1 для твоего примера

Замечание: 5!=='5', 0!==false.  Если чувствительность к типу значения ключа не  нужна (по большому счету, она, вероятно, и не особо нужна), то лучше поставить (k==key) вместо (k===key)

