From 0ed7583ceb74ef679b92649656318dd123a2ca3a Mon Sep 17 00:00:00 2001 From: Anatoly Ibragimov Date: Wed, 13 Apr 2022 21:44:04 +0200 Subject: [PATCH] ValuesF helper renamed to PickByKeys --- .gitignore | 2 ++ README.md | 4 ++-- map.go | 4 ++-- map_test.go | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 3aa3a0a..e5ecc5c 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,5 @@ go.work cover.out cover.html .vscode + +.idea/ diff --git a/README.md b/README.md index 883d0bb..6cf82e6 100644 --- a/README.md +++ b/README.md @@ -540,12 +540,12 @@ values := lo.Values[string, int](map[string]int{"foo": 1, "bar": 2}) // []int{1, 2} ``` -### ValuesF +### PickByKeys same as Values, but additionally filters map elements by provided keys. ```go -valuesF := ValuesF[string, int](map[string]int{"foo": 1, "bar": 2, "baz": 3}, []string{"foo", "baz"}) +pickByKeys := lo.PickByKeys[string, int](map[string]int{"foo": 1, "bar": 2, "baz": 3}, []string{"foo", "baz"}) // []int{1, 3} ``` diff --git a/map.go b/map.go index a9eb1c9..9327e4c 100644 --- a/map.go +++ b/map.go @@ -22,8 +22,8 @@ func Values[K comparable, V any](in map[K]V) []V { return result } -// ValuesF same as Values, but additionally filters map elements by provided keys. -func ValuesF[K comparable, V any](in map[K]V, keys []K) []V { +// PickByKeys same as Values, but additionally filters map elements by provided keys. +func PickByKeys[K comparable, V any](in map[K]V, keys []K) []V { r := make([]V, 0, len(in)) for k, v := range in { if Contains(keys, k) { diff --git a/map_test.go b/map_test.go index 2f42412..a0c3bf5 100644 --- a/map_test.go +++ b/map_test.go @@ -26,10 +26,10 @@ func TestValues(t *testing.T) { is.Equal(r1, []int{1, 2}) } -func TestValuesF(t *testing.T) { +func TestPickByKeys(t *testing.T) { is := assert.New(t) - r1 := ValuesF[string, int](map[string]int{"foo": 1, "bar": 2, "baz": 3}, []string{"foo", "baz"}) + r1 := PickByKeys[string, int](map[string]int{"foo": 1, "bar": 2, "baz": 3}, []string{"foo", "baz"}) sort.Ints(r1) is.Equal(r1, []int{1, 3})