Maison > interface Web > js tutoriel > Comment puis-je regrouper des objets dans un tableau basé sur une propriété commune ?

Comment puis-je regrouper des objets dans un tableau basé sur une propriété commune ?

DDD
Libérer: 2024-12-23 00:35:26
original
911 Les gens l'ont consulté

How Can I Group Objects in an Array Based on a Common Property?

Regrouper les objets par une propriété commune

Problème :

Vous disposez d'un tableau d'objets où chaque objet a un " propriété du groupe". Vous souhaitez transformer ce tableau en un nouveau tableau où les valeurs de propriété « groupe » similaires sont regroupées.

Sortie souhaitée :

myArray = [
  {group: "one", color: ["red", "green", "black"]},
  {group: "two", color: ["blue"]}
]
Copier après la connexion

Solution :

  1. Créer un mappage des noms de groupes à vider arrays :
var group_to_values = {};
Copier après la connexion
  1. Itérer sur le tableau d'entrée :
myArray.forEach(function (item) {
    group_to_values[item.group] = group_to_values[item.group] || [];
});
Copier après la connexion
  1. Pour chaque clé du mappage, créez un objet avec le nom du groupe et un tableau de valeurs :
var groups = [];
for (var key in group_to_values) {
    groups.push({group: key, color: group_to_values[key]})
}
Copier après la connexion
  1. Le tableau de groupes résultant sera regroupé par la propriété "groupe".

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal