希望添加KeyBy函数
Closed this issue · 1 comments
dmskys commented
希望实现laravel的keyby如下:
https://learnku.com/docs/laravel/5.8/collections/3916#method-keyby
$collection = collect([
['product_id' => 'prod-100', 'name' => 'Desk'],
['product_id' => 'prod-200', 'name' => 'Chair'],
]);
//根据结构体的字段组合新的数据返回
$keyed = $collection->keyBy('product_id');
/*
[
'prod-100' => ['product_id' => 'prod-100', 'name' => 'Desk'],
'prod-200' => ['product_id' => 'prod-200', 'name' => 'Chair'],
]
*/
go希望返回map类型,key为 keyby的值字符串,value为结构体对象
type User struct {
ID int
UserName string
Age int
}
user1 := User{ID: 1, UserName: "u1", Age: 18}
user2 := User{ID: 2, UserName: "u2", Age: 19}
collection.NewObjCollection([]User{user1, user2}).KeyBy("ID")
/*
"1": User{ID: 1, UserName: "u1", Age: 18},
"2": User{ID: 2, UserName: "u2", Age: 19}
*/
jianfengye commented
增加了一个KeyByStrField方法,文档已经更新