JavaScriptの技法:多次元配列

文:Nick Gibson(Builder AU)  翻訳校正:原井彰弘
2008-01-11 00:00:00
  • このエントリーをはてなブックマークに追加

 JavaScriptには多次元配列に対する組み込みのサポートはない。しかし、JavaScriptは柔軟性の高い言語であるため、それぞれの配列を配列としてまとめて多階層の構造を作成すれば、多次元配列の振る舞いを簡単に真似することが可能である。

 JavaScriptでは、配列は以下のいずれの方法でも作成することが可能だ。

var array1 = new Array(5);
var array2 = [1,2,3,4,5];
var array3 = new Array();
var array4 = [];

 配列の具体的な内容が分からない場合でも、配列のサイズを前もって知っているのなら、最初のスタイルがよい。なぜかというと、配列にはちょうど指定された要素数分のメモリが割り当てられるからだ(この場合、メモリには値は書き込まれない)。また、最初から配列にデータを投入する必要がある場合は、配列の宣言時にその内容のみを指定すればよい。2番目の配列は、以下のように記述した場合と同じ内容になる。

var array2 = new Array(5);
array2[0] = 1; //remember that arrays count from zero
array2[1] = 2;
array2[2] = 3;
array2[3] = 4;
array2[4] = 5;

 最後に、特定の変数を配列を扱う変数としたいが、配列のサイズがどの程度になるか分からない場合は、最後の2つのスタイルのいずれかを利用することができる。

 配列から要素を取得する構文は、配列に要素を入力する構文と同じである。以下のコードでは、警告メッセージを配列を修正する前と後の2回表示している。このプログラムを実行すると、最初は5が表示され、続いて10が表示されるはずである。

var array = [5];
alert(array[0]);
array[0] = 10;
alert(array[0]);

 一次元の配列に関して知っておかなければならいことは、大体この程度である。しかし、追加の次元が必要になると、ことは少々複雑になる。

多次元配列

たとえば、表の内容を管理するといった理由で、二次元の配列が存在するとしよう。このとき、本当はarray[2,3]のような書き方で要素を指定したいと思うだろう。しかし、残念ながらこの種の配列はサポートされていない。ただし、配列はどんな値でも要素として含むことができるという事実を利用すると、他の配列を要素として含めることによって、見せかけの多次元配列を作成することが可能になる。

  • 新着記事
  • 特集
  • ブログ
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]