JavaScript 随机选择数组元素(避免重复)
这段代码实现了从一个给定的数组中随机选择元素的功能,并且保证每次选择的元素都不重复。
const options = ['apple', 'banana', 'orange', 'kiwi', 'grape'];
let i = -1;
function randomSelect() {
let randomIndex;
do {
randomIndex = Math.floor(Math.random() * options.length);
} while (i === randomIndex);
i = randomIndex;
return options[i];
}
代码解释:
options数组: 定义了一个包含水果名称的数组。i变量: 初始化为 -1,用于记录上一次选择的索引,确保下次选择不重复。randomSelect()函数:randomIndex变量: 存储随机生成的索引。do...while循环: 循环执行直到随机生成的索引randomIndex与上一次选择的索引i不相等。Math.floor(Math.random() * options.length): 生成 0 到options.length之间的随机整数,作为随机索引。i = randomIndex: 更新i变量,记录本次选择的索引。return options[i]: 返回本次选择的元素。
使用方法:
你可以通过调用 randomSelect() 函数来获取数组中随机选择的元素。每次调用都会返回一个不同的元素,直到所有元素都被选择一次。
console.log(randomSelect()); // 例如,输出 'kiwi'
console.log(randomSelect()); // 例如,输出 'banana'
原文地址: https://www.cveoy.top/t/topic/ntJJ 著作权归作者所有。请勿转载和采集!