diff --git a/moslice/find.go b/moslice/find.go index ca8083f..345dbd4 100644 --- a/moslice/find.go +++ b/moslice/find.go @@ -9,6 +9,17 @@ func Contains[T comparable](ts []T, needle T) bool { return false } +func FirstWhere[T any](ts []T, predicate func(t T) bool) T { + var zeroT T + + for _, t := range ts { + if predicate(t) { + return t + } + } + return zeroT +} + func FindWhere[T any](ts []T, predicate func(t T) bool) (T, bool) { var zeroT T