用固定长度的多维数组填充 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++){
我正在努力思考 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++){