Maison > interface Web > js tutoriel > Comment puis-je rechercher efficacement des objets dans un tableau JavaScript en fonction de la valeur d'attribut ?

Comment puis-je rechercher efficacement des objets dans un tableau JavaScript en fonction de la valeur d'attribut ?

Mary-Kate Olsen
Libérer: 2024-12-10 08:44:17
original
602 Les gens l'ont consulté

How Can I Efficiently Find Objects in a JavaScript Array Based on Attribute Value?

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...
];
Copier après la connexion

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!
}
Copier après la connexion

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.
}
Copier après la connexion

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.
}
Copier après la connexion

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.
}
Copier après la connexion

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.
}
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal