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

如何检测按钮点击生成的随机数是否重复?(JavaScript)

解决随机数重复提示问题

你需要先记录上一次生成的随机数,才能判断当前数字是否重复。原来的代码里的if (numRandom)逻辑完全不对——它只是在数字不为0时触发,根本没做重复判断。

修改后的代码如下:

// 声明变量保存上一次的随机数,初始值设为null(不在0-8范围内)
let lastNum = null;

btnRandom.addEventListener('click', function () {
    const numRandom = Math.trunc(Math.random() * 9);
    console.log(numRandom);

    // 判断当前数字是否和上一次重复
    if (numRandom === lastNum) {
        console.log('该数字已重复');
        // 如果想在页面上显示提示,可替换成下面的方式:
        // alert('该数字已重复');
        // 或者用页面元素展示:document.getElementById('tip').textContent = '该数字已重复';
    } else {
        // 数字不重复时,更新图片并记录当前数字为上一次的结果
        characterEl.src = `img/genshin_characters/card-${numRandom}.webp`;
        lastNum = numRandom;
    }
});

关键说明:

  • lastNum要定义在事件监听函数外面,这样每次点击按钮都能保留上一次的数字记录
  • 只有当新生成的数字和上一次不同时,才更新图片;如果重复,只显示提示,不更换图片
  • 控制台提示可以换成弹窗(alert)或者页面内的提示元素,根据你的需求调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 15:15:46