用固定长度的多维数组填充Javascript对象



我正试图将我的头脑集中在javascript对象和数组上。我尝试填充并访问如下对象:

obj_keys = [1,2,3,4,5,6,7];
o = {};
$.each(obj_keys, function(k, v){
    o[v] = [];
    for(var c; c < 10; c++){
        o[v][c] = [];
        o[v][c].push([11,12,13,14]);
    }
});
console.log(o); 

对象{1:Array[10],2:Array[10]:3:Array[10]:4:Array[0],5:Array[10][6],7:Array[10]]}

console.log(o[7]);

阵列[]

console.log(o[7][8]);

未定义

console.log(o[7][8][3]);

TypeError:o[7][8]是未定义的

为什么o[v]=[]可以,但是o[v][c]=[]在我的for(;;)循环中不是?

for(var c; c < 10; c++){

是你的问题。您不初始化c,所以它是undefined或更高版本的NaN,这些名称用作将数组添加到o[v]上的属性名称。改为使用:

for(var c = 0; c < 10; c++){

相关内容

  • 没有找到相关文章