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

Fill Javascript object with fixed length multidimensional array

我正在努力思考 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:数组[10],2:数组[10],3:数组[10],4:数组[10],5:数组[10],6:数组[10],7 : 数组[10] }

console.log(o[7]);

数组 [ ]

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

未定义

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

类型错误: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++){