Maison >interface Web >js tutoriel >Comment puis-je regrouper efficacement des objets JavaScript par clé à l'aide de Lodash ou de JavaScript simple ?

Comment puis-je regrouper efficacement des objets JavaScript par clé à l'aide de Lodash ou de JavaScript simple ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-04 12:18:38497parcourir

How Can I Efficiently Group JavaScript Objects by a Key Using Lodash or Plain JavaScript?

Regrouper des objets par clé avec JavaScript et Lodash

Regrouper des objets en fonction d'une clé spécifique est une tâche courante lorsque l'on travaille avec des tableaux de données. En regroupant des objets qui partagent une propriété commune, nous pouvons les organiser et y accéder plus efficacement.

Une façon d'y parvenir en JavaScript simple consiste à utiliser la méthode Array#reduce. L'extrait de code suivant illustre comment :

const cars = [{
    make: 'audi',
    model: 'r8',
    year: '2012'
}, {
    make: 'audi',
    model: 'rs5',
    year: '2013'
}, {
    make: 'ford',
    model: 'mustang',
    year: '2012'
}, {
    make: 'ford',
    model: 'fusion',
    year: '2015'
}, {
    make: 'kia',
    model: 'optima',
    year: '2012'
}];

const result = cars.reduce(function (r, a) {
    r[a.make] = r[a.make] || [];
    r[a.make].push(a);
    return r;
}, {});

console.log(result);

Ce code utilise la propriété make comme clé de regroupement. Il parcourt la gamme de voitures et crée un nouvel objet avec des clés correspondant aux valeurs de marque uniques. Pour chaque marque, il crée ou ajoute un tableau d'objets de voiture partageant cette marque.

Lodash fournit également un moyen concis de regrouper des objets à l'aide de la fonction _.groupBy :

import { groupBy } from 'lodash';

const grouped = groupBy(cars, 'make');

Le groupBy La fonction prend deux arguments : le tableau d’objets et la propriété par laquelle regrouper. Il renvoie un nouvel objet avec des clés correspondant aux valeurs uniques de la propriété spécifiée et des valeurs correspondant à des tableaux d'objets partageant cette valeur.

En regroupant les objets par clé, nous pouvons facilement accéder aux données associées et effectuer des opérations sur groupes d'objets ayant des caractéristiques similaires. Cette technique est particulièrement utile pour optimiser la récupération, le filtrage et la visualisation des données.

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:
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