1
0
mirror of https://github.com/danog/gojekyll.git synced 2024-11-30 08:28:58 +01:00
gojekyll/utils/arrays.go

29 lines
779 B
Go

package utils
// StringList adds methods to []string
type StringList []string
// Reject returns a copy of StringList without elements that its argument tests true on.
func (sl StringList) Reject(p func(string) bool) StringList {
result := make([]string, 0, len(sl))
for _, s := range sl {
if !p(s) {
result = append(result, s)
}
}
return result
}
// SearchStrings returns a bool indicating whether array contains the string.
// Unlike sort.SearchStrings, it does not require a sorted array.
// This is useful when the array length is low; else consider sorting it and using
// sort.SearchStrings, or creating a map[string]bool.
func SearchStrings(array []string, s string) bool {
for _, item := range array {
if item == s {
return true
}
}
return false
}