js-challenges icon indicating copy to clipboard operation
js-challenges copied to clipboard

洗牌算法

Open Tsuizen opened this issue 1 year ago • 2 comments

Tsuizen avatar Mar 08 '23 13:03 Tsuizen

function shuffle(array) {
  let length = array.length;

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

  return array;
}

Tsuizen avatar Mar 08 '23 13:03 Tsuizen

/**
 * 原地打乱数组(洗牌算法)
 */

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
}

topulikeweb avatar Mar 30 '24 07:03 topulikeweb