index.ts 554 B

12345678910111213141516
  1. // @ts-nocheck
  2. /**
  3. * 随机化数组中元素的顺序,使用 Fisher-Yates 算法
  4. * @description 函数接受一个数组作为参数,返回一个新的数组,其中包含原数组随机化顺序后的元素。
  5. * @param arr 要随机化的数组
  6. * @returns 一个新的数组,其中包含原数组随机化顺序后的元素。
  7. */
  8. export function shuffle<T>(arr : T[]) : T[] {
  9. for (let i = arr.length - 1; i > 0; i--) {
  10. const j = Math.floor(Math.random() * (i + 1))
  11. const temp = arr[i]
  12. arr[i] = arr[j]
  13. arr[j] = temp
  14. }
  15. return arr
  16. }