U 21 diff (#23)

* add logo and fix project image description

* add difference function

* update docs

Co-authored-by: Ruidy <rnemausat@newstore.com>
This commit is contained in:
Ruidy 2022-03-24 12:30:01 -04:00 committed by GitHub
parent eebeb65114
commit 6b377350d6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 48 additions and 1 deletions

View file

@ -4,7 +4,7 @@
![Go version](https://img.shields.io/github/go-mod/go-version/rjNemo/underscore?style=for-the-badge) ![Go version](https://img.shields.io/github/go-mod/go-version/rjNemo/underscore?style=for-the-badge)
![test coverage](https://img.shields.io/codecov/c/github/rjNemo/underscore?style=for-the-badge) ![test coverage](https://img.shields.io/codecov/c/github/rjNemo/underscore?style=for-the-badge)
![underscore](https://socialify.git.ci/rjNemo/underscore/image?description=1&descriptionEditable=Useful%20functional%20programming%20helpers%20for%20Go%201.18%20and%20beyond&font=Raleway&language=1&logo=https%3A%2F%2Fgithub.com%2FrjNemo%2Funderscore%2Fblob%2Fmain%2Fdocs%2Fstatic%2Flogo.png&owner=1&pattern=Floating%20Cogs&stargazers=1&theme=Light) ![underscore](https://socialify.git.ci/rjNemo/underscore/image?description=1&descriptionEditable=Useful%20functional%20programming%20helpers%20for%20Go%201.18%20and%20beyond&font=Raleway&language=1&logo=https%3A%2F%2Fraw.githubusercontent.com%2FrjNemo%2Funderscore%2Fmain%2Fdocs%2Fstatic%2Flogo.png&owner=1&pattern=Floating%20Cogs&stargazers=1&theme=Light)
`underscore` is a `Go` library providing useful functional programming helpers without extending any built-in objects. `underscore` is a `Go` library providing useful functional programming helpers without extending any built-in objects.

8
difference.go Normal file
View file

@ -0,0 +1,8 @@
package underscore
// Difference Returns a copy of the array with all instances of the values that are not present in the other array.
func Difference[T comparable](slice, other []T) []T {
return Filter(slice, func(n T) bool {
return !Contains(other, n)
})
}

17
difference_test.go Normal file
View file

@ -0,0 +1,17 @@
package underscore_test
import (
"testing"
"github.com/stretchr/testify/assert"
u "github.com/rjNemo/underscore"
)
func TestDifference(t *testing.T) {
nums := []int{1, 3, 5, 6, 7, 9}
reject := []int{9, 7, 5, 4}
want := []int{1, 3, 6}
assert.Equal(t, want, u.Difference(nums, reject))
}

View file

@ -0,0 +1,22 @@
---
title: "Difference"
date: 2022-03-21T13:48:21-04:00
---
Returns a copy of the array with all instances of the values that are not present in the other arrays.
```go
package main
import (
"fmt"
u "github.com/rjNemo/underscore"
)
func main() {
nums := []int{1, 3, 5, 6, 7, 9}
reject := []int{9, 7, 5, 4}
fmt.Println(u.Difference(nums, reject)) // {1, 3, 6}
}
```