collection/reduce.go

9 lines
219 B
Go
Raw Normal View History

2022-04-07 21:36:40 +03:00
package collection
func Reduce[T any, R any](collection []T, cb func(previous R, current T, idx int) R, accumulator R) R {
for i, v := range collection {
accumulator = cb(accumulator, v, i)
}
return accumulator
}