Maison >interface Web >js tutoriel >Comment puis-je regrouper des objets JavaScript par clé à l'aide de la méthode « reduce() » ?

Comment puis-je regrouper des objets JavaScript par clé à l'aide de la méthode « reduce() » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-21 02:32:09776parcourir

How Can I Group JavaScript Objects by Key Using the `reduce()` Method?

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 :

  1. 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' },
];
  1. 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 = {};
  1. 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.
  1. 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;
}, {});
  1. Renvoyer l'objet groupé : La méthode réduire() renvoie l'objet accumulé, qui contient l'objet groupé valeurs.
  2. Enregistrer le résultat groupé : Vous pouvez enregistrer l'objet groupé sur la console pour vérifier le sortie.
console.log(groupedCars);

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!

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