繁体   English   中英

为什么我有时会出错,有时不会?

[英]Why i sometimes got error and sometimes not?

当用户单击按钮时,此代码应该从数组中获取随机 JSON 数据。 我正在使用 function 返回一个随机数。 但是当我加载页面并单击按钮时,有时我会得到随机数据,而有时我会出错。

在此处输入图像描述

为什么是这样? 提前致谢。

$(document).ready(function () {

    function getRandomInt(min, max) {
        return Math.floor(Math.random() * (max - min + 1)) + min;
    }
    
        
    function renderQuiz() {
        console.log(userdata.USER.TOPSONGS[(getRandomInt(0,2))][(getRandomInt(0,4))].snippet);     
    }
    
    ...

    $('#button').click(function () {
        renderQuiz();
        console.log("userprogress: " + userprogress);

        if (userprogress < 10) {
            userprogress++;
            $('#answered').text(`${userprogress} / 10`);
        } 
        else { window.location.href = '/result'; }
        return;
    });

}); //end document.ready

userdata.USER.TOPSONGS是否包含一个 3x5 数组,其中定义了所有值并且所有值都有一个.snippet

很可能,对于某些值0 <= x <= 20 <= y <= 4userdata.USER.TOPSONGS不包含[x][y].snippet ,从而导致此错误。

请检查您的userdata.USER.TOPSONGS数组和/或调整传递给随机数 function 的最小值和最大值。

看起来像是超出了数组的边界。 您的getRandomInt(min, max)返回随机 int,包括minmax 检查这是否正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM