func Every(items DashSlice, predicate Predicate) bool {
	result := true
	for _, item := range items {
		if ok := predicate(item); !ok {
			result = false
			break
		}
	}
	return result
}
Checks if predicate returns truthy for all elements of collection. Iteration is stopped once predicate returns falsy.
The predicate is invoked with one argument: (value).
package godash
import (
	"math/rand"
	"sort"
)
func CountBy(items DashSlice, iteratee Iteratee) map[interface{}]int {
	counts := map[interface{}]int{}
	for _, item := range items {
		itemTmp := iteratee(item)
		count, found := counts[itemTmp]
		if !found {
			count = 1
		} else {
			count++
		}
		counts[itemTmp] = count
	}
	return counts
}
func ForEach(items DashSlice, action Action) DashSlice {
	for key, item := range items {
		action(item, key)
	}
	return items
}
func Each(items DashSlice, action Action) DashSlice {
	return ForEach(items, action)
}
func ForEachRight(items DashSlice, action Action) DashSlice {
	length := len(items)
	for i := length - 1; i >= 0; i-- {
		action(items[i], i)
	}
	return items
}
func EachRight(items DashSlice, action Action) DashSlice {
	return ForEachRight(items, action)
}