Existen otras alternativas pero esta me pareció bastante clara.
La solución es recorrer el array que pasamos como parametros y comprobar si alguno de sus elementos coincide con la clave pasada en cuyo caso devolvemos el objeto completo que ocupa la posicion actual en el array y finaliza el proceso.
Nota: Mucho ojo de pasar un valor clave en el parametro "key" puesto que si dicho valor puede repetirse para dos o mas objetos siempre devolvería el primero en el orden del recorrido.
function objectFindByKey(array, key, value) {
for (var i = 0; i < array.length; i++) {
if (array[i][key] === value) {
return array[i];
}
}
return null;
}
var array = [{'id':'73','foo':'bar'},{'id':'45','foo':'bar'}];
var result_obj = objectFindByKey(array, 'id', '45');
Fuente: http://stackoverflow.com/questions/7364150/find-object-by-id-in-array-of-javascript-objects
No hay comentarios:
Publicar un comentario