JavaScriptでは、こんな不思議な書式で配列を定義できます。
function funcA(){
var points = [];
points[0]=0;
points[1]=1;
points[2]=2;
alert(points[2]);
}
また、次のような書式で2次元配列(のようなもの)を定義できます。var points = [];
points[0]=0;
points[1]=1;
points[2]=2;
alert(points[2]);
}
function funcB(){
var points=[
[1,2,3],
[11,12,13],
[21,22,23]
];
alert(points[1][2]);
}
これらのことから類推すると、次のような書き方ができそうな気がしますが、これはエラーになります。var points=[
[1,2,3],
[11,12,13],
[21,22,23]
];
alert(points[1][2]);
}
function funcD(){
var points = [][];
points[0][0]=0;
points[0][1]=1;
points[1][0]=10;
points[1][1]=11;
alert(points[1][1]);
}
funcB()で2次元配列に見えるものは、単なる「配列の配列」なわけです。つまり、次のように書けばエラーにはなりません。var points = [][];
points[0][0]=0;
points[0][1]=1;
points[1][0]=10;
points[1][1]=11;
alert(points[1][1]);
}
function funcE(){
var points = [];
points[0]=[];
points[0][0]=0;
points[0][1]=1;
points[1]=[];
points[1][0]=10;
points[1][1]=11;
alert(points[1][1]);
}
次のように書いた方が、より分かりやすいかも知れません。var points = [];
points[0]=[];
points[0][0]=0;
points[0][1]=1;
points[1]=[];
points[1][0]=10;
points[1][1]=11;
alert(points[1][1]);
}
function funcF(){
var points = new Array();
points[0]= new Array();
points[0][0]=0;
points[0][1]=1;
points[1]= new Array();
points[1][0]=10;
points[1][1]=11;
alert(points[1][1]);
}
var points = new Array();
points[0]= new Array();
points[0][0]=0;
points[0][1]=1;
points[1]= new Array();
points[1][0]=10;
points[1][1]=11;
alert(points[1][1]);
}
投稿:竹形 誠司[takegata]/2008年 02月 15日 01時 49分
/更新:2008年 02月 15日 01時 50分