我正在研究 Google 脚本,并且正在测试创建二维数组的不同方法。 我创建了一个像这样的数组:
var codes = new Array(6);
for (var i = 0; i < 6; i++) {
codes[i] = new Array(4);
}
codes[0][0]="x";
codes[0][1]="x";
codes[0][2]="x";
codes[0][3]="x";
codes[1][0]="x";
codes[1][1]="x";
codes[1][2]="x";
codes[1][3]="x";
codes[2][0]="x";
codes[2][1]="x";
codes[2][2]="x";
codes[2][3]="x";
codes[3][0]="x";
codes[3][1]="x";
codes[3][2]="x";
codes[3][3]="x";
codes[4][0]="x";
codes[4][1]="x";
codes[4][2]="x";
codes[4][3]="x";
codes[5][0]="x";
codes[5][1]="x";
codes[5][2]="x";
codes[5][3]="x";
并且运行良好。
但是当我这样做时:
var codes = new Array(6);
for (var i = 0; i < 6; i++) {
codes[i] = new Array(4);
}
codes[0]=["x","x","x","x"];
codes[1]=["x","x","x","x"];
codes[2]=["x","x","x","x"];
codes[3]=["x","x","x","x"];
codes[4]=["x","x","x","x"];
codes[5]=["x","x","x","x"];
它不起作用,所以我尝试了这样的:
var codes = new Array([["x","x","x","x"],["x","x","x","x"],["x","x","x","x"],["x","x","x","x"],["x","x","x","x"],["x","x","x","x"]]);
它也不起作用。
当代码不起作用时,我不会收到错误,只是不显示值。
我做错了什么?它看起来是相同的代码,并且许多文档中都推荐了两种不起作用的方法。
最佳答案
W3schools表示不需要使用new Array()
。
为了简单性、可读性和执行速度,使用文字方法例如:
var Animals = ["猫", "兔子"];
您的代码不起作用的原因是您在循环内等于codes
,并且在循环范围结束后“codes”仅获取最后一个设置的数组。相反,您应该将这些数组推送到代码。
var codes = [];
for (var i = 0; i < 6; i++) {
codes.push([i]);
}
console.log(codes)
codes[0]=["x","x","x","x"];
codes[1]=["x","x","x","x"];
codes[2]=["x","x","x","x"];
codes[3]=["x","x","x","x"];
codes[4]=["x","x","x","x"];
codes[5]=["x","x","x","x"];
关于javascript - Google App 脚本数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32497982/