This commit is contained in:
兔子
2024-05-08 14:21:55 +08:00
parent 8619a72a30
commit 40dc74b0bf
3 changed files with 13 additions and 0 deletions

View File

@@ -2,6 +2,7 @@ package utils
func init() { func init() {
In.Array = InArray[any] In.Array = InArray[any]
Array.Diff = ArrayDiff[any]
Array.Filter = ArrayFilter Array.Filter = ArrayFilter
Array.Remove = ArrayRemove Array.Remove = ArrayRemove
Array.Unique = ArrayUnique[any] Array.Unique = ArrayUnique[any]
@@ -20,6 +21,7 @@ var In struct {
} }
var Array struct { var Array struct {
Diff func(array1, array2 []any) (slice []any)
Filter func(array []string) (slice []string) Filter func(array []string) (slice []string)
Remove func(array []string, args ...string) (slice []string) Remove func(array []string, args ...string) (slice []string)
Unique func(array []any) (slice []any) Unique func(array []any) (slice []any)

View File

@@ -78,3 +78,13 @@ func ArrayReverse[T any](array []T) (slice []T) {
} }
return array return array
} }
// ArrayDiff - 数组差集
func ArrayDiff[T any](array1, array2 []T) (slice []T) {
for _, item := range array1 {
if !InArray(item, array2) {
slice = append(slice, item)
}
}
return slice
}

View File

@@ -13,6 +13,7 @@ type UrlStruct struct {
// Encoded - 将 map 编码为 URL 查询字符串 - x-www-form-urlencoded // Encoded - 将 map 编码为 URL 查询字符串 - x-www-form-urlencoded
func (this *UrlStruct) Encoded(params map[string]any) string { func (this *UrlStruct) Encoded(params map[string]any) string {
var parts []string var parts []string
for key, value := range params { for key, value := range params {