Sunny-117 / js-challenges

✨✨✨ Challenge your JavaScript programming limits step by step
https://juejin.cn/column/7244788137410560055
2k stars 236 forks source link

洗牌算法 #485

Open Tsuizen opened 1 year ago

Tsuizen commented 1 year ago
function shuffle(array) {
  let length = array.length;

  while (length) {
    let random = ~~(Math.random() * length--);
    [array[length], array[random]] = [array[random], array[length]];
  }

  return array;
}
topulikeweb commented 6 months ago
/**
 * 原地打乱数组(洗牌算法)
 */

function shuffle (arr) {
  for (let i = 0; i < arr.length; i++) {
    let j = Math.floor(Math.random() * i);
    [arr[i], arr[j]] = [arr[j], arr[i]]
  }
  return arr
}