Ho questi dati di esempio restituiti da un'API.usando lodash .groupBy. come aggiungere le proprie chiavi per l'output raggruppato?
Sto usando il _.groupBy
di Lodash per convertire i dati in un oggetto che posso usare meglio. I dati grezzi restituiti è questa:
[
{
"name": "jim",
"color": "blue",
"age": "22"
},
{
"name": "Sam",
"color": "blue",
"age": "33"
},
{
"name": "eddie",
"color": "green",
"age": "77"
}
]
Voglio la funzione _.groupBy
per restituire un oggetto che assomiglia a questo:
[
{
color: "blue",
users: [
{
"name": "jim",
"color": "blue",
"age": "22"
},
{
"name": "Sam",
"color": "blue",
"age": "33"
}
]
},
{
color: "green",
users: [
{
"name": "eddie",
"color": "green",
"age": "77"
}
]
}
]
Attualmente sto usando
_.groupBy(a, function(b) { return b.color})
che è restituendo questo.
{blue: [{..}], green: [{...}]}
i raggruppamenti sono corretti, ma mi piacerebbe molto aggiungere le chiavi che voglio (color
, users
). è possibile utilizzare _.groupBy
? o qualche altra utilità LoDash
?
Molto elegante, ma difficile da avvolgere. Puoi spiegare i passaggi intermedi, in particolare l'accoppiamento e lo zipping (e il doppio zip, poiché '_.object' è un alias per' _.zipObject'). –
Stampa il risultato dopo ogni passaggio. Potrebbe aiutarti a capire meglio. Se hai una domanda specifica per favore fammi sapere. Ti aiuterò con il lodash 3.10.0 – thefourtheye
e alcuni logging per ogni passaggio: http://jsfiddle.net/plantface/WYCF8/171/. È ancora un puzzle, ma ci sto arrivando. Non ho ancora usato '_.zip' e' _.pair' tanto. –