Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回未定义的Javascript数组结果_Javascript_Jquery - Fatal编程技术网

返回未定义的Javascript数组结果

返回未定义的Javascript数组结果,javascript,jquery,Javascript,Jquery,我一直在做一个简单的数学游戏,在游戏结束后,我很难得到完整的答案结果 下面是我的返回函数的样子 function pShowResults() { var pNumResults = document.getElementById("results"); for (var i = 0; i <= 10; i++) { pNumStore.push(pNumGuess[i]); var pNumTable = document.crea

我一直在做一个简单的数学游戏,在游戏结束后,我很难得到完整的答案结果

下面是我的返回函数的样子

    function pShowResults() {
    var pNumResults = document.getElementById("results");
    for (var i = 0; i <= 10; i++) {
        pNumStore.push(pNumGuess[i]);
        var pNumTable = document.createElement("div");
        pNumTable.innerHTML = (pNumGuess[i]);
        pNumResults.appendChild(pNumTable);
    }
    }
函数pShowResults(){
var pNumResults=document.getElementById(“结果”);

对于(var i=0;i您在使用数组之前忘记了定义它

function pShowResults() {
    var pNumStore = new Array();
    var pNumResults = document.getElementById("results");
    for (var i = 0; i <= 10; i++) {
        pNumStore.push(pNumGuess[i]);
        var pNumTable = document.createElement("div");
        pNumTable.innerHTML = (pNumGuess[i]);
        pNumResults.appendChild(pNumTable);
    }
}
函数pShowResults(){
var pNumStore=新数组();
var pNumResults=document.getElementById(“结果”);

对于(var i=0;i代码中有一个名为pNumCalc的函数,您已将其设置为接受一个参数,但从未传入。您使用该参数将结果存储在pNumGuess数组中,但由于从未传入该参数,因此从未存储猜测,最终用户给出的答案是未定义的

更新的fiddle:。不确定这离你真正想要的有多近,但希望它能让你走上正轨

因为StackOverflow希望在JSFIDLE为…时包含代码:

pNumCalc(pNumTrack)

您没有在许多位置传递
x
的值

$(document).ready(function () {

    //declare arrays and variables for use below
    var pNum1 = [];
    var pNum2 = [];
    var pNumAns = [];
    var pNumGuess = [];
    var pNumStore = [];
    var pNumCarry = 0;
    var pNumTrack = 0;
    var pNumMessageRight = ['Awesome Job!', 'Correct!', 'Great Job!'];
    var pNumMessageWrong = ['Oh No! That Was Wrong!', 'Incorrect!', 'That\'s Wrong'];

    $(".Play").click(function () {
        $("#popup").attr("class", "on");
        pNumTrack = 0;
         pNumGen(pNumTrack);
    });

    $(".pNumSubmit").click(function () {
        pNumCalc(pNumTrack-1);
    });

    $(".pNumNext").click(function () {
        pNumGen(pNumTrack);
    });

    function pNumGen(x) {
        pNum1[x] = (Math.round(Math.random() * 51));
        pNum2[x] = (Math.round(Math.random() * 51));
        pNumAns[x] = pNum1[x] + pNum2[x];
        $(".pNum1").html(pNum1[x]);
        $(".pNum2").html(pNum2[x]);
        $(".pNumGuess").val("");
        $(".pNum1").html(pNumTrack[x]);
        if (pNumTrack == 2) {
            $(".pNumNext").html("");
            $(".pNumSubmit").html("Close");
            pShowResults();
        }
        pNumTrack++;
    }

    function pNumCalc(x) {
        pNumGuess[x] = $(".pNumGuess").val();
        if (pNumGuess[x] == pNumAns[x]) {
            $(".message").html(pNumMessageRight[Math.floor(Math.random() * pNumMessageRight.length)]);
            $(".pNumNext").html("Next Question >")
        } else {
            $(".message").html(pNumMessageWrong[Math.floor(Math.random() * pNumMessageWrong.length)]);
            $(".pNumNext").html("Maybe The Next Question >")
        }
    }

    function pShowResults() {
        var pNumResults = document.getElementById("results");
        for (var i = 0; i < pNumGuess.length; i++) {
            pNumStore.push(pNumGuess[i]);
            var pNumTable = document.createElement("div");
            pNumTable.innerHTML = (pNumGuess[i]);
            pNumResults.appendChild(pNumTable);
        }
    }

});
$(文档).ready(函数(){
//声明下面使用的数组和变量
var pNum1=[];
var pNum2=[];
var pNumAns=[];
var pNumGuess=[];
var pNumStore=[];
var pNumCarry=0;
var pNumTrack=0;
var pNumMessageRight=['Awesome Job!'、'Correct!'、'Great Job!'];
var pnumMessageError=[“哦,不!那是错误的!”,“不正确的!”,“那是错误的”];
$(“.Play”)。单击(函数(){
$(“弹出窗口”).attr(“类”、“打开”);
pNumTrack=0;
pNumGen(pNumTrack);
});
$(“.pNumSubmit”)。单击(函数(){
pNumCalc(pNumTrack-1);
});
$(“.pNumNext”)。单击(函数(){
pNumGen(pNumTrack);
});
功能pNumGen(x){
pNum1[x]=(Math.round(Math.random()*51));
pNum2[x]=(Math.round(Math.random()*51));
pNumAns[x]=pNum1[x]+pNum2[x];
$(“.pNum1”).html(pNum1[x]);
$(“.pNum2”).html(pNum2[x]);
$(“.pNumGuess”).val(“”);
$(“.pNum1”).html(pNumTrack[x]);
如果(pNumTrack==2){
$(“.pNumNext”).html(“”);
$(“.pNumSubmit”).html(“关闭”);
pShowResults();
}
pNumTrack++;
}
函数pNumCalc(x){
pNumGuess[x]=$(“.pNumGuess”).val();
if(pNumGuess[x]==pNumAns[x]){
$(“.message”).html(pNumMessageRight[Math.floor(Math.random()*pNumMessageRight.length)];
$(“.pNumNext”).html(“下一个问题>”)
}否则{
$(“.message”).html(pnumMessageError[Math.floor(Math.random()*pnumMessageError.length)];
$(“.pNumNext”).html(“可能是下一个问题>”)
}
}
函数pShowResults(){
var pNumResults=document.getElementById(“结果”);
对于(变量i=0;i

演示:

我必须建议您改用jquery。 参观完小提琴后,你的代码似乎有很多问题,而且你的问题也不清楚

例如

  $(".pNumSubmit").click(function () {
//why x value not passed?
 pNumCalc();
        });



        function pNumCalc(x) {
            pNumGuess[x] = $(".pNumGuess").val();
            if (pNumGuess[x] == pNumAns[x]) {
                $(".message").html(pNumMessageRight[Math.floor(Math.random() * pNumMessageRight.length)]);
                $(".pNumNext").html("Next Question >")
            } else {
                $(".message").html(pNumMessageWrong[Math.floor(Math.random() * pNumMessageWrong.length)]);
                $(".pNumNext").html("Maybe The Next Question >")
            }
        }

请清除返回未定义的数组,以便其他人可以帮助您。

如果查看给定fiddle中的源代码,您将看到pNumStore已经定义。