J'ai un peu navigué pour essayer de trouver un moyen efficace de le faire, mais je n'ai rien trouvé. J'ai un tableau d'objets qui ressemble à ceci :
array[i].id = some number;
array[i].name = some name;
Ce que je veux faire, c'est trouver les INDEX des objets où id est égal à, par exemple, l'un des 0, 1, 2, 3 ou 4. Je suppose que je pourrais simplement faire quelque chose comme :
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 }
}
Bien que cela puisse fonctionner, il semble que cela soit assez coûteux et lent (sans parler de la laideur), surtout si array.length peut être grand. Avez-vous des idées pour améliorer un peu la situation ? J'ai pensé à utiliser array.indexOf d'une manière ou d'une autre mais je ne vois pas comment forcer la syntaxe. Voici
array.indexOf(this.id === 0);
par exemple, renvoie une valeur indéfinie, comme il se doit.