Récupération d'objets correspondants à partir d'un tableau d'objets JavaScript
En JavaScript, nous rencontrons souvent le besoin de parcourir un tableau d'objets et de localiser un objet spécifique basé sur une valeur particulière. Considérons le tableau suivant :
myArray = [{'id':'73','foo':'bar'},{'id':'45','foo':'bar'}, etc.]
Supposons que nous ayons un ID de 45 et que nous souhaitions récupérer la propriété 'foo' correspondante. Voici différentes approches pour y parvenir :
Méthode 1 : Utilisation de la méthode Find
La méthode find() nous permet de localiser le premier objet qui répond à une condition spécifiée . Pour trouver l'objet avec l'ID 45, nous pouvons utiliser la syntaxe suivante :
myArray.find(x => x.id === '45').foo;
Méthode 2 : Utilisation de la méthode FindIndex
Si nous sommes principalement intéressés par le index de l'objet correspondant plutôt que l'objet lui-même, nous pouvons utiliser la fonction findIndex() méthode :
myArray.findIndex(x => x.id === '45');
Méthode 3 : Récupération d'un tableau d'éléments correspondants (méthode de filtrage)
La méthode filter() peut être utilisée lorsque nous devons obtenir un tableau de tous les objets qui correspondent à un critère particulier. Dans notre cas, ce serait :
myArray.filter(x => x.id === '45');
Méthode 4 : Extraction des valeurs de propriété (méthode Map)
Si nous sommes spécifiquement intéressés par l'extraction du 'foo' valeurs de propriété des objets correspondants, nous pouvons combiner les méthodes filter() et map() comme suit :
myArray.filter(x => x.id === '45').map(x => x.foo);
Remarque sur la compatibilité entre navigateurs :
Il est important de noter que les méthodes plus récentes telles que find() et findIndex() ne sont pas universellement prises en charge par les anciens navigateurs tels que IE. Pour garantir la compatibilité entre navigateurs, pensez à transpiler votre code à l'aide d'un outil comme Babel avec les polyfills appropriés.
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!