📜  如何使用 JavaScript 打乱数组?(1)

📅  最后修改于: 2023-12-03 15:23:53.181000             🧑  作者: Mango

如何使用 JavaScript 打乱数组?

有时候我们需要对数组进行打乱操作,使得数组的顺序变得随机。在 JavaScript 中,我们可以使用 Fisher-Yates shuffle 算法来实现数组的随机化。下面是该算法的具体过程:

  1. 从数组的最后一位开始往前遍历,取出当前位置之前(包括当前位置)的随机一个位置;
  2. 将当前遍历的位置与随机位置进行交换;
  3. 继续遍历,重复以上操作,直到数组的第一位。

下面是 JavaScript 代码实现:

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

该函数接收一个数组作为参数,返回一个随机化的数组。使用方法如下:

let arr = [1,2,3,4,5];
shuffle(arr); // [3,5,2,1,4]

上面的代码中,我们先定义了一个包含 1-5 的数组,然后调用 shuffle 函数对该数组进行随机化,最终得到了打乱后的数组。

总结一下,使用 JavaScript 打乱数组可以借助 Fisher-Yates shuffle 算法来实现。以上是算法的具体步骤和代码实现,通过调用该函数即可得到随机化的数组。