我定义了二维数组,试图用嵌套循环填充它,但它只用正确的值填充第一维,其他维用空填充(或未定义),谢谢。
var Arr = [];
var i =0;
for(i=0;i<13;i++)
{
Arr[i]=[];
}
var a=0,b=0;
for(a=0;a<13;a++)
{
for(b=0;b<13;b++)
{
Arr[[a][b]]=AnotherArrWithRightValues[(13 * a) + b];
}
}
答案 0 :(得分:1)
Arr[[a][b]]
应为Arr[a][b]
答案 1 :(得分:1)
Loksly的回答是正确的,但以不同的方式实施。要回答您的问题,请将Arr[[a][b]]
替换为Arr[a][b]
。
完整代码:
var Arr = [];
for(var a = 0 ; a < 13 ; a++) {
Arr[a] = [];
for(var b = 0 ; b < 13 ; b++) {
Arr[a][b]=AnotherArrWithRightValues[(13 * a) + b];
}
}
答案 2 :(得分:0)
仅供记录,另一种实现相同目的的方法:
var Arr = [];
var i = 0, tmp;
var a, b;
for(a = 0; a < 13; a++){
tmp = [];
for(b = 0; b < 13; b++){
tmp.push(AnotherArrWithRightValues[i++]);
}
Arr.push(tmp);
}
答案 3 :(得分:0)
试试这个,
var arr =[];
for(var a=0;a<13;a++)
{
arr[a] = new Array();
for(var b=0;b<13;b++)
{
arr[a].push((13 * a) + b);
}
}
我希望这会对你有所帮助