【JavaScript】多次元配列を生成する関数

JavaScriptには、他の言語(Java, Python, C++, etc.)が標準で持っている「多次元配列」がありません。
多次元配列はとても汎用性の高いデータ構造なので、JavaScriptでも多次元配列を使いたいところです。

 

例えば、以下の2次元配列を宣言するプログラムは、エラーになります。

 

(注)多次元配列の多次元とは、2次元以上のことです。
(注)JavaScript でも、1次元配列(多次元でない)は標準装備されています。

 


2次元配列の宣言・生成・使用

Java の場合

例えば、Java で配列名(book)の宣言と生成は以下となります。

配列の生成後、その配列を使用することが可能になります。

 

JavaScript の場合

JavaScript で、配列名(book)の生成は以下となります。

ここで、今回作成する「多次元配列を生成する関数(prep2D)」を使用しています。

配列の生成後、その配列を使用することが可能になります。

 


2次元配列を生成する関数(prep2D

 

プログラム1.

 

プログラムの説明

プログラムの4-5 行目で、2次元配列(book)を使う準備をしています。

  • 4 行目、bookを配列として宣言

それにより、関数prep2D に配列book を「参照渡し」しています。

参照渡しすることで、1次元配列から2次元配列の加工が可能になります。

 

10-11 行目は、2次元配列(book)の使用テストです。

 

prep2D

仮引数(入力)

  • a: 1次元配列名 → 加工して2次元配列になる
  • x: 1次元目の要素数
  • y: 2次元目の要素数

 

2次元配列への加工(生成)

JavaScript では、配列の要素に配列を代入する(=)ことができます。

  • 1次元配列の要素に、1次元配列を入れると、2次元配列になる

 

この性質を利用して、以下の手順で、1次元配列を2次元配列に加工します【1】。

  1.  宣言済み1次元配列(仮引数: a)を、1次元目要素数(x)だけ生成する
  2.  生成した各配列 a[ i ] に、1次元配列(要素数y)を生成し、代入する

【参考1】MDNインデックス付きコレクション#多次元配列

 

 


3次元配列を生成する関数(prep3D

 

prep2D を3次元に拡張することで、prep3D が作れます。

 

プログラム2.

 

 

 

 

 

スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。