This commit is contained in:
兔子
2023-05-12 16:34:28 +08:00
parent 677ce0f0c3
commit 21774b777f
3 changed files with 92 additions and 66 deletions

View File

@@ -46,6 +46,8 @@ func init() {
In.Array = InArray[any]
Array.Filter = ArrayFilter
Array.Remove = ArrayRemove
Array.Unique = ArrayUnique[any]
Array.Empty = ArrayEmpty[any]
Password.Create = PasswordCreate
Password.Verify = PasswordVerify
Rand.Int = RandInt
@@ -123,6 +125,8 @@ var In struct {
var Array struct {
Filter func(array []string) (slice []string)
Remove func(array []string, args ...string) (slice []string)
Unique func(array []any) (slice []any)
Empty func(array []any) (slice []any)
}
var Password struct {

View File

@@ -29,3 +29,25 @@ func ArrayRemove(array []string, args ...string) []string {
}
return array
}
// ArrayUnique - 数组去重
func ArrayUnique[T any](array []T) (slice []any) {
list := make(map[any]bool)
for _, item := range array {
if !list[item] {
list[item] = true
slice = append(slice, item)
}
}
return slice
}
// ArrayEmpty - 数组去空
func ArrayEmpty[T any](array []T) (slice []any) {
for _, item := range array {
if !IsEmpty(item) {
slice = append(slice, item)
}
}
return slice
}

View File

@@ -153,7 +153,7 @@ func ParseParams(params map[string]any) (result map[string]any) {
params[keys[0]] = make(map[string]any, 3)
}
wg.Add(1)
go worker(params[keys[0]].(map[string]any), strings.Join(keys[1:], "."), val)
go worker(cast.ToStringMap(params[keys[0]]), strings.Join(keys[1:], "."), val)
}
return