W tablicy obiektów najszybszy sposób znalezienia indeksu obiektu, którego atrybuty pasują do wyszukiwania

Surfowałem trochę, próbując znaleźć skuteczny sposób, aby to zrobić, ale nigdzie nie dotarłem. Mam tablicę obiektów, które wyglądają tak:

<code>array[i].id = some number;
array[i].name = some name;
</code>

Chcę znaleźć INDEKSY obiektów, w których id jest równe, na przykład, jeden z 0,1,2,3 lub 4. Przypuszczam, że mógłbym po prostu zrobić coś takiego:

<code>var indexes = [];
for(i=0; i<array.length; i++) {
  (array[i].id === 0) ? { indexes[0] = i }
  (array[i].id === 1) ? { indexes[1] = i }
  (array[i].id === 2) ? { indexes[2] = i }
  (array[i].id === 3) ? { indexes[3] = i }
  (array[i].id === 4) ? { indexes[4] = i }
}
</code>

Chociaż to zadziała, wygląda na dość drogie i wolne (nie wspominając o brzydkim), zwłaszcza jeśli array.length może być duże. Masz jakieś pomysły, jak trochę to wyhodować? Myślałem o użyciu array.indexOf w jakiś sposób, ale nie widzę, jak wymusić składnię. To

<code>array.indexOf(this.id === 0);
</code>

na przykład zwraca undefined, jak prawdopodobnie powinno. Z góry dziękuję!

questionAnswers(16)

yourAnswerToTheQuestion