Add ArrShuffle function to shuffle array elements

This commit is contained in:
2025-11-05 14:45:38 +01:00
parent b439b95f83
commit 535a699584

View File

@@ -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
}