diff --git a/count.go b/count.go new file mode 100644 index 0000000..27d9e00 --- /dev/null +++ b/count.go @@ -0,0 +1,15 @@ +package slices + +func Count[T comparable](slice []T, value T) int { + return CountCmp(slice, value, DefaultEqualityComparator[T]) +} + +func CountCmp[T comparable](slice []T, value T, cmp EqualityComparator[T]) int { + c := 0 + for _, v := range slice { + if cmp(v, value) { + c++ + } + } + return c +}