ฉันมีข้อมูลตัวอย่างที่ส่งคืนจาก API
ฉันใช้ Lodash _.groupBy
เพื่อแปลงข้อมูลเป็นวัตถุที่ฉันสามารถใช้ได้ดีกว่า ข้อมูลดิบที่ส่งคืนคือ:
[
{
"name": "jim",
"color": "blue",
"age": "22"
},
{
"name": "Sam",
"color": "blue",
"age": "33"
},
{
"name": "eddie",
"color": "green",
"age": "77"
}
]
ฉันต้องการให้_.groupBy
ฟังก์ชันส่งคืนวัตถุที่มีลักษณะดังนี้:
[
{
color: "blue",
users: [
{
"name": "jim",
"color": "blue",
"age": "22"
},
{
"name": "Sam",
"color": "blue",
"age": "33"
}
]
},
{
color: "green",
users: [
{
"name": "eddie",
"color": "green",
"age": "77"
}
]
}
]
ตอนนี้ฉันใช้
_.groupBy(a, function(b) { return b.color})
ซึ่งส่งคืนสิ่งนี้
{blue: [{..}], green: [{...}]}
การจัดกลุ่มถูกต้อง แต่ฉันต้องการเพิ่มคีย์ที่ฉันต้องการ ( color
, users
) เป็นไปได้โดยใช้_.groupBy
? หรือLoDash
ยูทิลิตี้อื่น ๆ?
_.object
เป็นนามแฝง_.zipObject
)