javascript TypeError:评估二维数组时的'undefined'

时间:2015-03-17 15:07:09

标签: javascript

这是我的代码:

var y = new Array(); // it have 500 entries.
var z = [[]];
    var counter =0;
    for(var i =0; i<49;i++){
        for(var j=0; j<9;j++){
            z[i][j] = y[counter];
            counter +=1;
        }
    }
    console.log(z);

我收到此错误:TypeError: 'undefined' is not an object (evaluating 'z[i][j] = y[counter]')

我做错了什么?

1 个答案:

答案 0 :(得分:4)

您必须初始化二维数组的每一行。你的声明:

var z = [[]];

仅创建第0行。

所以:

for(var i =0; i<49;i++){
    z[i] = []; // <===== initialize the row
    for(var j=0; j<9;j++){
        z[i][j] = y[counter];
        counter +=1;
    }
}