Maison >interface Web >js tutoriel >Comment puis-je regrouper efficacement un tableau d'objets par clés imbriquées à l'aide de Lodash ?
Regroupement d'un tableau d'objets par imbrication de clés avec des noms spécifiques
Cette requête cherche à modifier un tableau d'objets en les regroupant en fonction de critères spécifiques noms de clés, produisant une sortie souhaitée avec des objets imbriqués.
Pour ce faire, une fonction personnalisée appelée groupAndMap est utilisée. Il utilise une combinaison de _.map et _.groupBy de la bibliothèque Lodash. Voici un aperçu de son fonctionnement :
function groupAndMap(items, itemKey, childKey, predic){ return _.map(_.groupBy(items,itemKey), (obj,key) => ({ [itemKey]: key, [childKey]: (predic && predic(obj)) || obj })); }
Pour créer la sortie imbriquée souhaitée, la fonction est utilisée deux fois dans l'extrait de code :
var result = groupAndMap(items,"tab","sections", arr => groupAndMap(arr,"section", "items"));
Le premier appel regroupe les objets par la touche "tab", résultant en un tableau d'objets avec les propriétés "tab" et "sections". L'appel zweite regroupe ensuite les objets dans chaque section par la touche "section", produisant la sortie imbriquée souhaitée où les objets sont regroupés par "onglet" puis par "section".
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!