JavaScript随机选择不重复元素函数
以下是实现随机选择不重复元素的JavaScript函数:
const options = ['apple', 'banana', 'orange', 'kiwi', 'grape'];
var i = -1;
function randomSelect() {
const randomIndex = Math.floor(Math.random() * options.length);
if(i!==-1){
if(i == randomIndex){
//alert('调用函数' + i);
return randomSelect();
}else{
//alert('ss输出' + randomIndex);
i = randomIndex;
return options[randomIndex];
}
}else{
i = randomIndex;
//alert(randomIndex);
return options[randomIndex];
}
}
该函数通过以下步骤实现:
- 定义一个数组
options,存储需要随机选择的元素。 - 定义一个变量
i,用于记录上次选择的元素索引,初始值为 -1,表示尚未选择元素。 - 定义函数
randomSelect(),用于随机选择一个元素:- 使用
Math.random()生成一个随机数,并乘以数组长度,得到一个随机索引randomIndex。 - 判断
i是否等于 -1,如果是,表示第一次选择,直接将randomIndex赋值给i,并返回对应元素。 - 否则,判断
i是否等于randomIndex,如果是,表示重复选择,则递归调用randomSelect()函数,直到选择到一个不同的元素。 - 否则,将
randomIndex赋值给i,并返回对应元素。
- 使用
该函数确保每次选择都不重复,直到数组中所有元素都被选择完毕。
**注意:**由于该函数依赖于随机数生成,因此每次运行的结果可能不同。
希望本文能帮助您理解如何使用JavaScript实现随机选择不重复元素的功能。
原文地址: https://www.cveoy.top/t/topic/nsdL 著作权归作者所有。请勿转载和采集!