Javascript属性'0'未定义

时间:2016-09-11 15:00:51

标签: javascript properties syntax-error

Javascript的新手,但我确实有使用Java和Python的经验。我看了几个其他网站,看看我的代码有什么问题,我知道错误意味着该属性尚未启动或不包含任何内容,但我知道我在那里放了一些东西,所以我想我可能会让Java和Javascript混淆。

这是我的代码:

    var M=5;
    var N=5;   //where M and N can be changed if needed
    var cellsNotChecked = [];
    var startAt = [Math.floor(Math.random()*M), Math.floor(Math.random()*N)];

    var path = [startAt];
    //then make note of cells visited or not

    for(i=0; i<M+2; i++){
        cellsNotChecked[i]=[];
        for(j=0; j<N+1; j++){
            cellsNotChecked[j].push(i>0&&i<M+1&&j>0&&(i!=startAt[0]+1||j!=startAt[1]+1));
        }   
    }

    var cellsChecked= 1;
    // now keep going until the number of cells checked outweighs the number of cells not checked
    while(cellsChecked<cellsNotChecked.length){
        //list of potential cells to go to next
        var potential = [[startAt[0], startAt[1]+1],        //right: y,x+1
        [startAt[0],startAt[1]-1],                          //left: y, x-1
        [startAt[0]-1,startAt[1]],                          //top: (top left hand corner is 0,0, so) y-1, x
        [startAt[0]+1,startAt[1]]];                         //bottom: y+1, x, 
        var neighboringCells = [];

    //do things
    cellsChecked++;
    }

错误显示在var potential = [[startAt[0], startAt[1]+1],...,startAt [0]在startAt [1] +1之后一直加下划线。

就像我说的那样,我想我会给它价值,但我不知道如何检查(使用Notepad ++)。

编辑备注

在第一个for循环中添加花括号(感谢您捕捉到它,Mupparthy Ravindranath),但错误现在发生在cellsNotChecked[j].push(...)

完整错误状态:未捕获TypeError:无法读取未定义

的属性“push”

我遇到的部分问题是,在我添加一个完全不相关的功能之前,它似乎在昨天工作。现在它根本不起作用。 Javascript代码可能会变得太长吗?

0 个答案:

没有答案