Javascript 尝试以编程方式创建多维数组
我正在测试使用for循环创建多维数组的能力,包括:Javascript 尝试以编程方式创建多维数组,javascript,arrays,Javascript,Arrays,我正在测试使用for循环创建多维数组的能力,包括: for (var a = 0; a < 3; a++){ var pax[a] = new Array(); pax[a].push(1,2,3); } console.log(pax[2][1],pax[0][0]); for(var a=0;a
for (var a = 0; a < 3; a++){
var pax[a] = new Array();
pax[a].push(1,2,3);
}
console.log(pax[2][1],pax[0][0]);
for(var a=0;a<3;a++){
var pax[a]=新数组();
pax[a].push(1,2,3);
}
console.log(pax[2][1],pax[0][0]);
但是它在var-pax[a]
我认为这实际上可能是一个范围错误而不是语法错误,但我不能确定。正如@Barmar指出的语法问题 试试看
var pax = new Array();
for (var a = 0; a < 3; a++){
pax[a] = new Array();
pax[a].push(1,2,3);
}
console.log(pax[2][1],pax[0][0]);
var-pax=new-Array();
对于(var a=0;a<3;a++){
pax[a]=新数组();
pax[a].push(1,2,3);
}
console.log(pax[2][1],pax[0][0]);
更新后的代码是正确的,但不是作用域问题。JS有函数作用域,而不是块作用域。这是语法问题。var-pax[a]
是无效语法。控制台不是在告诉你吗?pax
是一个变量,pax[a]
是一个表达式,它引用数组或对象中的元素,该元素是pax
变量的值。请注意,数组的首选JavaScript语法是var pax=[];