JavaScript随机选择元素并统计出现次数 - 优化后的代码
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对象统计结果,提高代码可读性。
结论:
通过以上代码,我们可以实现从数组中随机选择元素,并统计每个元素出现的次数。代码经过优化,更加易读易懂,提高了代码的可维护性。
原文地址: https://www.cveoy.top/t/topic/nsdK 著作权归作者所有。请勿转载和采集!