这段代码实现了从一个给定的数组中随机选择元素的功能,并且保证每次选择的元素都不重复。

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];
}

代码解释:

  1. options 数组: 定义了一个包含水果名称的数组。
  2. i 变量: 初始化为 -1,用于记录上一次选择的索引,确保下次选择不重复。
  3. 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'
JavaScript 随机选择数组元素(避免重复)

原文地址: https://www.cveoy.top/t/topic/ntJJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录