Trouver un objet par id dans un tableau d'objets JavaScript

Mots clés : javascriptarraysjavascript-objectsjavascript

meilleur 5 Réponses Trouver un objet par id dans un tableau d'objets JavaScript

vote vote

99

myArray.find(x => x.id === '45').foo; 
myArray.findIndex(x => x.id === '45'); 
myArray.filter(x => x.id === '45'); 
myArray.filter(x => x.id === '45').map(x => x.foo); 
vote vote

81

var result = $.grep(myArray, function(e){ return e.id == id; }); 
if (result.length === 0) {   // no result found } else if (result.length === 1) {   // property found, access the foo property using result[0].foo } else {   // multiple items found } 
vote vote

72

var lookup = {}; for (var i = 0, len = array.length; i < len; i++) {     lookup[array[i].id] = array[i]; }  ... now you can use lookup[id]... 
vote vote

62

var myArray = [  {id:1, name:"bob"},  {id:2, name:"dan"},  {id:3, name:"barb"}, ]  // grab the Array item which matchs the id "2" var item = myArray.find(item => item.id === 2);  // print console.log(item.name);
vote vote

54

myArray = [{'id':'73','foo':'bar'},{'id':'45','foo':'bar'},etc.] obj = _.find(myArray, function(obj) { return obj.id == '45' }) 

Questions similaires