本文介绍了在 JavaScript 中从数组随机抽取元素的方法。通过 Math.random 生成随机索引,可获取单个随机元素;利用 Fisher-Yates 洗牌算法的变体,可高效抽取多个不重复的随机元素。
JavaScript 随机抽取数组元素方法
在 JavaScript 开发中,经常需要从一个数组中随机选取一个或多个元素。
假设我们有一个包含多个值的数组 items。
var items = ['1','2','4','5','6','7','8','9','10'];
获取单个随机元素
首先,介绍如何从数组 items 中随机获取单个元素。
var item = items[Math.floor(Math.random()*items.length)];
获取多个随机元素
接着,演示如何从该数组中随机选取多个元素。
function getRandomArrayElements(arr, count) {
var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index;
while (i-- > min) {
index = Math.floor((i + 1) * Math.random());
temp = shuffled[index];
shuffled[index] = shuffled[i];
shuffled[i] = temp;
}
return shuffled.slice(min);
}
var items = ['1','2','4','5','6','7','8','9','10'];
console.log( getRandomArrayElements(items, 4) );
以上介绍了 JavaScript 随机抽取数组元素的具体方法,希望能帮助读者解决相关问题。如有任何疑问,欢迎留言交流,我们将及时回复。感谢支持。