.slice()
是错误的工具。它用于对另一个数组或数组的一部分进行浅克隆。
如果您正在寻找方形结构,您只需使用 2 个嵌套循环来创建外部和内部数组。
var k = 10;
var a = [];
for (var i = 0; i < k; i++) {
a[i] = [];
for (var j = 0; j < k; j++) {
a[i][j] = i + ':' + j;
}
}
http://jsfiddle.net/zGhnv/
>[["0:0","0:1","0:2","0:3","0:4","0:5","0:6","0:7" ,"0:8","0:9"],
["1:0","1:1","1:2","1:3","1:4","1:5","1:6","1:7"," 1:8","1:9"],
["2:0","2:1","2:2","2:3","2:4","2:5","2:6","2:7"," 2:8","2:9"],
["3:0","3:1","3:2","3:3","3:4","3:5","3:6","3:7"," 3:8","3:9"],
["4:0","4:1","4:2","4:3","4:4","4:5","4:6","4:7"," 4:8","4:9"],
["5:0","5:1","5:2","5:3","5:4","5:5","5:6","5:7"," 5:8","5:9"],
["6:0","6:1","6:2","6:3","6:4","6:5","6:6","6:7"," 6:8","6:9"],
["7:0","7:1","7:2","7:3","7:4","7:5","7:6","7:7"," 7:8","7:9"],
["8:0","8:1","8:2","8:3","8:4","8:5","8:6","8:7"," 8:8","8:9"],
["9:0","9:1","9:2","9:3","9:4","9:5","9:6","9:7"," 9:8","9:9"]]
请注意,我真的不需要声明 Array 的初始长度。我可以根据需要将成员添加到每个数组。
如果要预先声明长度,可以将两者都替换[]
为new Array(k)
.