未捕获的TypeError:无法读取数组中未定义的属性“ 1”

时间:2018-11-10 15:56:17

标签: javascript arrays

var grid = [];
    for (var i = 0;i < 6;i++)
    {
        for (var j = 0; j < 6; j++)
        grid[i] = [];
    }

    //Checking function(how many bombs near)
    function check(cx,cy)
    {
        var numb = 0;
        if (grid[cx][cy - 1] == "B") numb++;
        if (grid[cx][cy + 1] == "B") numb++;
        if (grid[cx - 1][cy] == "B") numb++;
        if (grid[cx + 1][cy] == "B") numb++;
        if (grid[cx - 1][cy - 1] == "B") numb++;
        if (grid[cx + 1][cy - 1] == "B") numb++;
        if (grid[cx - 1][cy + 1] == "B") numb++;
        if (grid[cx + 1][cy + 1] == "B") numb++;

        return numb;
    }** 

当我尝试检查每个包含cx +或-1的位置时,它给我一个错误,我尝试以其他方式制作数组,但没有帮助。我试图做一个扫雷游戏,所以在这里我检查每个给定的等离子点附近有多少枚炸弹

2 个答案:

答案 0 :(得分:0)

要避免使用没有数组或值的数组索引,可以使用函数并将数组和索引移交,如果值是true,则返回'B',否则返回{{ 1}}。

in operator和一个保护运算符(logical AND &&)进行检查,该运算符在false处中断并继续false,然后检查值。

true

答案 1 :(得分:0)

检查功能

通话检查时(0,0)

if (grid[cx][cy - 1] == "B") numb++;
  

网格[0] [0-1] =

0-1 = ?!