Add ArrShuffle function to shuffle array elements
This commit is contained in:
@@ -3,6 +3,7 @@ package langext
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
@@ -608,3 +609,12 @@ func ArrGroupBy[T1 any, T2 comparable](arr []T1, groupfunc func(v T1) T2) map[T2
|
||||
|
||||
return r
|
||||
}
|
||||
|
||||
func ArrShuffle[T any](arr []T) []T {
|
||||
for i := range arr {
|
||||
j := rand.Intn(i + 1)
|
||||
arr[i], arr[j] = arr[j], arr[i]
|
||||
}
|
||||
|
||||
return arr
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user