Maison >interface Web >js tutoriel >Comment puis-je rechercher efficacement des objets dotés d'attributs spécifiques dans un tableau JavaScript ?
Problème :
Considérez un tableau contenant des objets avec des attributs comme :
vendors = [{ Name: 'Magenic', ID: 'ABC' }, { Name: 'Microsoft', ID: 'DEF' } // and so on... ];
Comment pouvons-nous vérifier si un objet avec une valeur d'attribut particulière (par exemple, "Magenic") existe dans ce tableau sans recourir à une boucle manuelle ?
Solution :
Au lieu d'une boucle, nous pouvons exploiter le tableau JavaScript natif méthodes pour effectuer cette tâche efficacement :
1. Array.some()
La méthode some() vérifie si au moins un élément du tableau satisfait une condition donnée. Pour votre cas :
if (vendors.some(e => e.Name === 'Magenic')) { // Object found! }
2. Array.find()
Semblable à some(), find() renvoie le premier élément qui remplit la condition spécifiée. Si une correspondance est trouvée :
if (vendors.find(e => e.Name === 'Magenic')) { // Returns the matching object }
3. Array.findIndex()
Si vous n'avez besoin que de l'index de l'élément correspondant :
const i = vendors.findIndex(e => e.Name === 'Magenic'); if (i > -1) { // Index of the matching object found }
4. Array.filter()
Pour obtenir tous les objets correspondants :
if (vendors.filter(e => e.Name === 'Magenic').length > 0) { // Array of matching objects found }
Pour la compatibilité avec les navigateurs plus anciens :
Si les fonctions fléchées sont non pris en charge :
if (vendors.filter(function(e) { return e.Name === 'Magenic'; }).length > 0) { // Array of matching objects found }
Ces méthodes fournissent des méthodes efficaces de détection d'objets avec des valeurs d'attribut spécifiques dans un tableau, évitant ainsi le besoin d'une boucle explicite.
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!