Regrouper des objets par clé à l'aide de JavaScript
Regrouper un tableau d'objets par une clé spécifique est une tâche courante en programmation, en particulier lorsque vous travaillez avec ensembles de données. Un moyen efficace d'y parvenir consiste à utiliser la méthode réduire().
En JavaScript, vous pouvez suivre ces étapes :
-
Déclarer un tableau d'objets : Supposons que vous disposiez d'un tableau d'objets de voiture, similaire à l'exemple fourni dans le question :
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' },
];
Copier après la connexion
-
Initialiser un objet comme accumulateur : Créer un objet vide qui servira d'accumulateur pour la méthode réduire(). Cet objet stockera les valeurs groupées.
const groupedCars = {};
Copier après la connexion
-
Utilisez réduire() pour parcourir le tableau : Utilisez la méthode réduire() sur le tableau cars pour parcourir chaque objet. La fonction réduire() prend deux arguments :
-
accumulateur : L'objet créé à l'étape 2.
-
currentElement : L'objet actuel en cours d'itération.
-
Ajouter des objets au accumulator : Dans la méthode réduire(), vérifiez si la propriété make actuelle existe en tant que propriété dans l'objet accumulateur. S'il n'existe pas, créez un nouveau tableau dans cette propriété. Ensuite, poussez le currentElement dans le tableau créé. Ce processus regroupe efficacement les objets en fonction de leur marque.
const groupedCars = cars.reduce((accumulator, currentElement) => {
const make = currentElement.make;
if (!accumulator[make]) {
accumulator[make] = [];
}
accumulator[make].push(currentElement);
return accumulator;
}, {});
Copier après la connexion
-
Renvoyer l'objet groupé : La méthode réduire() renvoie l'objet accumulé, qui contient l'objet groupé valeurs.
-
Enregistrer le résultat groupé : Vous pouvez enregistrer l'objet groupé sur la console pour vérifier le sortie.
console.log(groupedCars);
Copier après la connexion
Cette approche utilise du JavaScript Vanilla et fournit une manière structurée de regrouper des objets en fonction d'une clé spécifiée, créant ainsi un nouvel objet avec les valeurs regroupé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!