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
521 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!

source:php.cn
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