You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript RNG实现min/max/平均值计算并绑定给定HTML的问题

实现方案

原有代码核心问题

  • 随机数生成逻辑提前return,后续给输入框赋值的代码完全不会执行
  • 没有批量生成随机数的逻辑,单次生成单个值时最大、最小、平均三个值完全一致,不符合数据模拟的常规需求
  • min、max、average三个变量没有初始化和统计逻辑,直接赋值会运行报错

逻辑说明

默认每次点击按钮生成10个介于10000到60000之间的整数,再对这批数值计算最大值、最小值、平均值,最后填入对应输入框,可自行调整生成的样本数量。

完整可运行代码

HTML代码

<h2>Problem #4: Data Simulation</h2>
<button onclick="runSimulation()">Run Simulation</button><br>
Largest number: <input type="text" id="max" disabled><br>
Smallest number: <input type="text" id="min" disabled><br>
Average: <input type="text" id="average" disabled><br>

JavaScript代码

const LOWER_BOUND = 10000;
const UPPER_BOUND = 60000;
// 每次模拟生成的随机数数量,可自行修改
const SAMPLE_COUNT = 10;

function runSimulation() {
    // 存储所有生成的随机数
    let randomNumbers = [];
    // 批量生成指定范围的随机整数
    for (let i = 0; i < SAMPLE_COUNT; i++) {
        let num = Math.floor(Math.random() * (UPPER_BOUND - LOWER_BOUND + 1)) + LOWER_BOUND;
        randomNumbers.push(num);
    }
    // 统计最大值、最小值、平均值
    let max = Math.max(...randomNumbers);
    let min = Math.min(...randomNumbers);
    let sum = randomNumbers.reduce((prev, curr) => prev + curr, 0);
    let average = (sum / SAMPLE_COUNT).toFixed(2); // 平均值保留两位小数,可自行调整精度
    
    // 赋值到页面输入框
    document.querySelector("#max").value = max;
    document.querySelector("#min").value = min;
    document.querySelector("#average").value = average;
}

如果需求是每次点击仅生成1个随机数,直接把SAMPLE_COUNT改成1即可,此时三个输入框会显示相同的值。

内容的提问来源于stack exchange,提问作者Kevin Jeong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:57:04