Étant donné que vous avez déjà jQuery, vous pourriez utiliser $.grep
:
Retrouve les éléments d'un tableau qui satisfont une fonction de filtrage. Le tableau d'origine n'est pas modifié.
Donc quelque chose comme ceci :
var matches = $.grep(ObjectsList, function(e) { return e.id == id });
cela vous laissera avec un tableau d'entrées correspondantes de ObjectsList
dans le tableau matches
. Ce qui précède suppose que ObjectsList
a une structure comme ceci :
[
{ id: ... },
{ id: ... },
...
]
Si vous savez qu'il n'y a qu'une seule correspondance ou si vous ne voulez que la première, vous pourriez le faire de cette manière :
for(var i = 0, m = null; i < ObjectsList.length; ++i) {
if(ObjectsList[i].id != wanted_id)
continue;
m = a[i];
break;
}
// m est maintenant soit nul, soit celui que vous voulez
Il existe de nombreuses variations de l'approche de la boucle for
et beaucoup de personnes me critiqueront parce qu'elles pensent que continue
est un mot tabou ; si vous n'aimez pas continue
, vous pourriez le faire de cette manière :
for(var i = 0, m = null; i < ObjectsList.length; ++i) {
if(ObjectsList[i].id == wanted_id) {
m = ObjectsList[i];
break;
}
}