JavaScript - 2次元配列の作成と初期化

JavaScript では2次元配列などの多次元配列の機能はサポートされていませんが、 「配列の配列」という方法で実現できます。

ここでは、2次元配列の作成と初期化ついて説明します。

「配列リテラル」を使う方法と、「Array() コンストラクタ」を使う方法の両方説明します。

「配列リテラル」を使う方法

配列リテラルで2次元配列を作成+初期化する

下のサンプルコードは、配列リテラルを使って2次元配列を作成しています。

初期値が下の表のように決まっているとして、作成と初期化を同時におこなっています。

123
456

// 配列リテラルで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」で初期化する場合のサンプルコードです。

000
000

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」で管理してループさせています。