Files
sablier/pkg/array/group_by.go
Alexis Couvreur 539b97a08d wip
2024-11-19 00:50:58 -05:00

14 lines
324 B
Go

package array
// GroupByProperty groups a slice of structs by a specific property.
func GroupByProperty[T any, K comparable](items []T, getProperty func(T) K) map[K][]T {
grouped := make(map[K][]T)
for _, item := range items {
key := getProperty(item)
grouped[key] = append(grouped[key], item)
}
return grouped
}