Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.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数组中未定义arr_Javascript_Arrays - Fatal编程技术网

在Javascript数组中未定义arr

在Javascript数组中未定义arr,javascript,arrays,Javascript,Arrays,下面的代码用来计算正面和反面的数量。下面的代码是给我的,但我的任务是计算正面和反面,我尝试了countHeadsAndTails(翻转)和下面的函数,但遇到了一个小问题。我在给我一个错误的行上加了三个星号:arr未定义(在函数countHeadsAndTails(flips)下))我确信这只是一个愚蠢的错误,我不想浪费你的时间来解决这个问题,但我在过去的30分钟里一直在努力解决它,谢谢:) var NUM_FLIPS=100; var编制=0,尾数=0; 函数start(){ var flips

下面的代码用来计算正面和反面的数量。下面的代码是给我的,但我的任务是计算正面和反面,我尝试了countHeadsAndTails(翻转)和下面的函数,但遇到了一个小问题。我在给我一个错误的行上加了三个星号:arr未定义(在函数countHeadsAndTails(flips)下))我确信这只是一个愚蠢的错误,我不想浪费你的时间来解决这个问题,但我在过去的30分钟里一直在努力解决它,谢谢:)

var NUM_FLIPS=100;
var编制=0,尾数=0;
函数start(){
var flips=flipCoins();
打印阵列(翻转);
}
//此函数应翻转硬币数
//次,并将结果添加到数组中。我们
//将结果返回给调用者。
函数flipCoins(){
var翻转=[];
对于(变量i=0;i
您没有将
arr
数组声明为全局数组,因此必须将其传递给应该使用它的函数。
arr
数组实际上是
翻转的。我更改了下面的代码,将数组传递给
countHeadsAndTails()
函数,并对同一函数添加了一些其他小更改(请参见下面的箭头)

运行和测试:
var NUM_FLIPS=100;
var编制=0,尾数=0;
函数start(){
var flips=flipCoins();
打印阵列(翻转);
}
//此函数应翻转硬币数
//次,并将结果添加到数组中。我们
//将结果返回给调用者。
函数flipCoins(){
var翻转=[];
对于(变量i=0;i如果(Math.round(Math.random()){//Hi,您的问题是arr不在您调用它的函数的范围内。您声明arr值的唯一位置是在printArray()函数中。@OscarVelandia不是arr只是调用数组吗?如果脚本在countHeadsAndTails()的范围内有一个变量函数名为arr,将调用arr,但在本例中,该函数没有任何变量名为arr。@OscarVelandia是的,我在看了几段视频后得到了它,您可以在这里看到tube和发布的解释thanks@Ivan86完成。:)谢谢山猫!!我现在明白了,还看了几段youtube视频
var NUM_FLIPS = 100;

var headCount = 0, tailCount = 0;

function start(){
    var flips = flipCoins();
    printArray(flips);
}

// This function should flip a coin NUM_FLIPS
// times, and add the result to an array. We
// return the result to the caller.
function flipCoins(){
    var flips = [];
    for(var i = 0; i < NUM_FLIPS; i++){
        if(Randomizer.nextBoolean()){
            flips.push("Heads");
        }else{
            flips.push("Tails");
        }
    }
    return flips;
}

function printArray(arr){
    for(var i = 0; i < arr.length; i++){
        println(i + ": " + arr[i]);
    }
    countHeadsAndTails();
}
function countHeadsAndTails(flips) {
    for (var i = 0; i < NUM_FLIPS; i++) {
    ***if (arr["flips"] === "heads")***
        headCount += arr[i];
    else
        tailCount += arr[i];
}
print("Heads: " + headCount + " " + "Tails: " + tailCount);
}