📌  相关文章
📜  Javascript 从数组中获取随机项 - Javascript (1)

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

Javascript 从数组中获取随机项

当我们需要随机获取数组中的一个元素时,我们可以使用 Javascript 的 Math.random() 函数来生成一个随机数,然后将该随机数与数组长度相乘,再使用 Math.floor() 函数向下取整获得一个随机索引值,最终获取到该索引值对应的数组元素即为随机项。

下面是一个简单的实现代码:

function getRandomItemFromArray(arr) {
  const randomIndex = Math.floor(Math.random() * arr.length);
  return arr[randomIndex];
}

我们可以将该函数封装为一个数组原型方法,使其更加易用:

Array.prototype.random = function() {
  const randomIndex = Math.floor(Math.random() * this.length);
  return this[randomIndex];
};

使用方式如下:

const arr = [1, 2, 3, 4, 5];
const randomItem = arr.random();
console.log(randomItem); // 随机输出数组中的一个元素

此外,我们也可以使用 ES6 的解构赋值从数组中获取随机项:

const [randomItem] = arr.slice().sort(() => Math.random() - 0.5);
console.log(randomItem); // 随机输出数组中的一个元素

这里我们先使用数组的 slice() 方法创建一个数组的副本,然后使用 sort() 方法根据随机数的大小对该数组进行排序,最后使用解构赋值取该数组的第一个元素即为随机项。

以上就是 Javascript 从数组中获取随机项的几种方法。