📅  最后修改于: 2023-12-03 15:31:40.913000             🧑  作者: Mango
当我们需要随机获取数组中的一个元素时,我们可以使用 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 从数组中获取随机项的几种方法。