docs/data/core-pickbyerr.md
Returns a map of the same type filtered by a key/value predicate. Returns an error if the predicate function fails, stopping iteration immediately.
m, err := lo.PickByErr(
map[string]int{"foo": 1, "bar": 2, "baz": 3},
func(key string, value int) (bool, error) {
if key == "bar" {
return false, fmt.Errorf("bar not allowed")
}
return value%2 == 1, nil
},
)
// map[string]int(nil), error("bar not allowed")
m, err := lo.PickByErr(
map[string]int{"foo": 1, "bar": 2, "baz": 3},
func(key string, value int) (bool, error) {
return value%2 == 1, nil
},
)
// map[string]int{"foo": 1, "baz": 3}, nil