mirror of
https://github.com/samber/lo.git
synced 2026-04-22 23:47:11 +08:00
1.3 KiB
1.3 KiB
name, slug, sourceRef, category, subCategory, signatures, playUrl, variantHelpers, similarHelpers, position
| name | slug | sourceRef | category | subCategory | signatures | playUrl | variantHelpers | similarHelpers | position | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Filter | filter | it/seq.go#L33 | it | sequence |
|
https://go.dev/play/p/psenko2KKsX |
|
|
10 |
Returns a sequence of all elements for which the predicate function returns true.
Filter
seq := func(yield func(int) bool) {
_ = yield(1)
_ = yield(2)
_ = yield(3)
_ = yield(4)
_ = yield(5)
}
filtered := it.Filter(seq, func(x int) bool {
return x%2 == 0
})
var result []int
for v := range filtered {
result = append(result, v)
}
// result contains 2, 4 (even numbers)
FilterI
FilterI iterates over elements of collection, returning a sequence of all elements predicate returns true for. The predicate function includes the index.
result := it.FilterI(it.Range(1, 6), func(item int, index int) bool {
return item%2 == 0 && index > 1
})
var filtered []int
for v := range result {
filtered = append(filtered, v)
}
// filtered contains [4, 6]