JavaScript 随机选择不重复元素的函数
该函数使用了一个数组 usedIndexes 用于记录已经出现过的随机数,以避免重复。如果所有选项都已经被选过了,就清空该数组,重新开始选择。这样就能够保证每次随机到的选项都不会重复。
const options = ['apple', 'banana', 'orange', 'kiwi', 'grape'];
const usedIndexes = []; // 记录已经出现过的随机数
function randomSelect() {
if (usedIndexes.length === options.length) {
usedIndexes.length = 0; // 清空数组
}
const randomIndex = Math.floor(Math.random() * options.length);
if (usedIndexes.includes(randomIndex)) {
return randomSelect(); // 继续生成随机数
} else {
usedIndexes.push(randomIndex);
return options[randomIndex];
}
}
如果需要输出多个随机选项,可以使用一个循环来调用该函数,每次输出一个不重复的选项。例如:
for (let i = 0; i < 5; i++) {
console.log(randomSelect());
}
这将输出五个不重复的选项。如果需要输出更多选项,可以将循环次数调整为需要的次数。
原文地址: https://www.cveoy.top/t/topic/nsds 著作权归作者所有。请勿转载和采集!