Я занимался серфингом вокруг немного, пытаясь найти эффективный способ сделать это, но нигде не стал. У меня есть массив объектов, который выглядит так:
array[i].id = some number;
array[i].name = some name;
Что я хочу сделать, так это найти ИНДЕКСЫ объектов, где id равен, например, один из 0,1,2,3 или 4. Полагаю, я мог бы сделать что-то вроде:
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 }
}
Пока это будет работать, оно выглядит довольно дорогостоящим и медленным (не говоря уже о уродливом), особенно если array.length может быть большим. Любые идеи о том, как это сделать? Я думал об использовании array.indexOf, но я не вижу, как заставить синтаксис. Это
array.indexOf(this.id === 0);
например, возвращает undefined, как и должно быть. Спасибо заранее!