diff --git a/moslice/find.go b/moslice/find.go index 9971100..d5a1847 100644 --- a/moslice/find.go +++ b/moslice/find.go @@ -19,3 +19,14 @@ func FindWhere[T comparable](ts []T, predicate func(t T) bool) (T, bool) { } return zeroT, false } + +func FindWithIndexWhere[T comparable](ts []T, predicate func(t T) bool) (T, int, bool) { + var zeroT T + + for i, t := range ts { + if predicate(t) { + return t, i, true + } + } + return zeroT, 0, false +}