JavaScript随机选择元素并统计出现次数

本文将演示如何使用JavaScript从数组中随机选择元素,并统计1000次随机选择后每个元素出现的次数。代码经过优化,提高了可读性和可维护性。

1. 随机选择函数

const options = ['apple', 'banana', 'orange', 'kiwi', 'grape'];
var i = -1;
const results = [];

function randomSelect() {
  const randomIndex = Math.floor(Math.random() * options.length);
  if (i !== -1) {
    if (i === randomIndex) {
      randomSelect();
    } else {
      i = randomIndex;
      results.push(options[randomIndex]);
      return options[randomIndex];
    } 
  } else {
    i = randomIndex;
    results.push(options[randomIndex]);
    return options[randomIndex];
  }
}

2. 循环调用随机选择函数并统计结果

for (let i = 0; i < 1000; i++) {
  randomSelect();
}

const counts = {};
results.forEach((result) => {
  counts[result] = counts[result] ? counts[result] + 1 : 1;
});

console.log(counts);

3. 运行结果

运行以上代码后,控制台输出类似如下结果:

{  
  'apple': 208,
  'banana': 197,
  'orange': 199,
  'kiwi': 193,
  'grape': 203
}

代码解释:

  • randomSelect() 函数用于随机选择一个元素,并确保每次选择都不重复上一次选择的元素。
  • results 数组用于存储每次随机选择的结果。
  • counts 对象用于统计每个元素出现的次数。

优化说明:

  • 使用 i 变量跟踪上一次选择的索引,确保不会重复选择。
  • 使用 results 数组存储结果,方便进行统计。
  • 使用 counts 对象统计结果,提高代码可读性。

结论:

通过以上代码,我们可以实现从数组中随机选择元素,并统计每个元素出现的次数。代码经过优化,更加易读易懂,提高了代码的可维护性。

JavaScript随机选择元素并统计出现次数 - 优化后的代码

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

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