JavaScript - 2次元配列の作成と初期化
JavaScript では2次元配列などの多次元配列の機能はサポートされていませんが、 「配列の配列」という方法で実現できます。
ここでは、2次元配列の作成と初期化ついて説明します。
「配列リテラル」を使う方法と、「Array() コンストラクタ」を使う方法の両方説明します。
「配列リテラル」を使う方法
配列リテラルで2次元配列を作成+初期化する
下のサンプルコードは、配列リテラルを使って2次元配列を作成しています。
初期値が下の表のように決まっているとして、作成と初期化を同時におこなっています。
1 | 2 | 3 |
4 | 5 | 6 |
// 配列リテラルで2次元配列を作成+初期化
var arr_multi = [
[1,2,3],
[4,5,6]
];
上のサンプルのように、列数や行数が少なくて、
初期値も最初から決まっているような2次元配列の場合は、 配列リテラルを使って作成した方がシンプルになります。
「Array() コンストラクタ」を使う方法
2次元配列を作成する
下のサンプルコードは Array() コンストラクタを使って 2行3列の配列を作成します。
// 2次元配列の「行」部分を作成
var arr_multi = new Array(2);
for (var i = 0; i < arr_multi.length; i++){
// 2次元配列の「列」部分を作成
arr_multi[i] = new Array(3);
}
まず行部分を作成し、次に列部分を作成していることに注意してください。
次のようにな書き方で多次元配列を作成することはできません。
// このような方法で2行3列の2次元配列は作成できない
var arr_multi = new Array(2,3);
console.log(arr_multi); // Array [ 2, 3 ] 1次元配列が作成されているだけ
配列を初期化する
下のコードは、固定値「0」で初期化する場合のサンプルコードです。
0 | 0 | 0 |
0 | 0 | 0 |
var initial_value = 0; // 初期化する固定値
// 行のループ
for (var i = 0; i < arr_multi.length; i++){
// 列のループ
for (var k = 0; k < arr_multi[i].length; k++){
arr_multi[i][k] = initial_value; // 初期化
}
}
行を変数「i」で管理し、列を変数「k」で管理してループさせています。