Groupe par de multiples valeurs Underscore.JS mais garder les clés et valeurs
Je suis en train de groupe le tableau suivant avec les objets:
[ { user_id: 301, alert_id: 199, deal_id: 32243 },
{ user_id: 301, alert_id: 200, deal_id: 32243 },
{ user_id: 301, alert_id: 200, deal_id: 107293 },
{ user_id: 301, alert_id: 200, deal_id: 277470 } ]
Comme vous pouvez le voir il contient user_id et alert_id combinaisons, de ce que j'aime le groupe. Donc, je voudrais avoir le tableau suivant:
[ { user_id: 301, alert_id: 199, deals: [32243] },
{ user_id: 301, alert_id: 200, deals: [32243,107293,277470]}]
Quelqu'un connaît une solution pour cela? Avec un trait de soulignement est GroupBy je peux regrouper les valeurs basées sur une touche. Mais j'ai besoin de leur groupe, basée sur la combinaison de user_id ET alert_id, comme vous pouvez le voir.
J'ai pris un coup d'oeil à le trait de soulignement.nid, mais le problème est qu'il crée ses propres clés.
Vous devez vous connecter pour publier un commentaire.
Utilisation groupe avec une fonction qui crée une clé composite à l'aide de user_id et alert_id. Puis la carte à travers les groupements pour obtenir ce que vous voulez:
Je voudrais apporter un joli texte dactylographié ES6 groupe par.
Je ne suis pas vraiment sûr de savoir comment renforcer la valeur de retour de la frappe. Certains ruse est nécessaire, mais cela fonctionne plutôt bien pour moi.
Vous devez activer le tapuscrit option du compilateur
"downlevelIteration": true
pour permettre à l'new Map
pour itérer et retourvalues()
.