Localisation d'objets dans des tableaux en fonction de la valeur d'attribut
Considérez un tableau comme :
vendors = [{ Name: 'Magenic', ID: 'ABC' }, { Name: 'Microsoft', ID: 'DEF' }, // and so on... ];
Comment pouvez-vous efficacement déterminer si « Magenic » existe dans ce tableau ? Voici comment y parvenir sans recourir à un bouclage explicite, ce qui est particulièrement utile lorsque vous traitez de grands ensembles de données :
Utiliser la méthode some pour trouver un seul élément correspondant :
if (vendors.some(e => e.Name === 'Magenic')) { // A matching object is found! }
Récupérer le objet correspondant à l'aide de find :
if (vendors.find(e => e.Name === 'Magenic')) { // Returns the object itself, not just a boolean. }
Trouver l'index du premier élément correspondant avec findIndex :
const i = vendors.findIndex(e => e.Name === 'Magenic'); if (i > -1) { // Indicates a matching object found at index i. }
Si plusieurs objets correspondants sont requis, utilisez le filtre :
if (vendors.filter(e => e.Name === 'Magenic').length > 0) { // Returns all objects that satisfy the condition. }
Pour les navigateurs ne prenant pas en charge les fonctions de flèche :
if (vendors.filter(function(e) { return e.Name === 'Magenic'; }).length > 0) { // Same as above, using traditional function syntax. }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!