Poiché si dispone già di jQuery, è possibile utilizzare $.grep
:
trova gli elementi di una matrice che soddisfano una funzione di filtro. L'array originale non è interessato.
Quindi qualcosa di simile:
var matches = $.grep(ObjectsList, function(e) { return e.id == id });
che vi lascerà con una serie di voci corrispondenti da ObjectsList
nella matrice matches
. Quanto sopra presuppone che ObjectsList
ha una struttura come questa:
[
{ id: ... },
{ id: ... },
...
]
Se si sa che esiste una sola partita o se si desidera solo il primo allora si potrebbe fare in questo modo:
for(var i = 0, m = null; i < ObjectsList.length; ++i) {
if(ObjectsList[i].id != wanted_id)
continue;
m = a[i];
break;
}
// m is now either null or the one you want
Ci ci sono un sacco di variazioni sull'approccio del ciclo for
e un sacco di persone mi agitano un dito perché pensano che continue
sia una parolaccia; se non vi piace continue
allora si potrebbe fare in questo modo:
for(var i = 0, m = null; i < ObjectsList.length; ++i) {
if(ObjectsList[i].id == wanted_id) {
m = ObjectsList[i];
break;
}
}
fonte
2011-11-29 05:53:24
Hai bisogno di mostrare i dati effettivi JSON che si sta cercando di scegliere in modo per noi essere in grado di consigliare come accedervi . – jfriend00