js中通用随机洗牌方法

export function shuffle(source) {
  const arr = source.slice()
  for (let i = 0; i < arr.length; i++) {
    const j = getRandomInt(i)
    swap(arr, i, j)
  }
  return arr
}

function getRandomInt(max) {
  return Math.floor(Math.random() * (max + 1))
}

function swap(arr, i, j) {
  const t = arr[i]
  arr[i] = arr[j]
  arr[j] = t
}

js中通用随机洗牌方法

上一篇:编程语言拟人化:Java、C++、Python、Ruby、PHP、C#、JS!--隆重推荐转


下一篇:基于C++类和指针实现二叉树