Maison >interface Web >js tutoriel >Comment puis-je regrouper un tableau d'objets par une propriété spécifique et consolider d'autres propriétés dans des tableaux ?
Étant donné un tableau d'objets avec des propriétés de groupe et de couleur, l'objectif est de regrouper les éléments par leurs valeurs de groupe, en consolidant la couleur valeurs pour chaque groupe.
Le tableau fourni ressemble à ceci :
myArray = [ {group: "one", color: "red"}, {group: "two", color: "blue"}, {group: "one", color: "green"}, {group: "one", color: "black"} ]
Le résultat souhaité est un tableau comme celui-ci :
myArray = [ {group: "one", color: ["red", "green", "black"]}, {group: "two", color: ["blue"]} ]
Vous trouverez ci-dessous une implémentation JavaScript :
var myArray = [ {group: "one", color: "red"}, {group: "two", color: "blue"}, {group: "one", color: "green"}, {group: "one", color: "black"} ]; var group_to_values = myArray.reduce(function (obj, item) { obj[item.group] = obj[item.group] || []; obj[item.group].push(item.color); return obj; }, {}); var groups = Object.keys(group_to_values).map(function (key) { return {group: key, color: group_to_values[key]}; }); console.log("groups:"); console.log(JSON.stringify(groups, null, 4));
Ce code crée la sortie souhaitée, avec les éléments regroupés par leur propriété de groupe et leurs valeurs de couleur consolidées dans des tableaux.
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!