JavaScriptの技法:データ構造を配列で作成する

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

 JavaScriptは、JavaやCのような堅牢な言語と数多くの類似点を持っている一方で、まったく直感に反する機能も多数存在する。JavaScriptの配列はまさにそのような設計であり、開発者が見落としがちな分かりにくい機能がいくつも含まれている。

配列に勝る配列

 JavaScriptのArrayオブジェクトを用いると、一連の値を一つの変数名に格納することが可能となる。リストAでは、5つの要素を持つ配列(ここの要素はウェブサイトのアドレスを表している)を作成し、ループによってそれぞれの値を警告ダイアログボックスに表示している。

リストA


JavaScript arrays

 JavaScriptは多次元配列をサポートしているとはいえないが、配列の配列を作成することは可能だ。さらに、JavaScriptのArrayオブジェクトは通常の配列以上の機能を提供しているため、Arrayオブジェクトを利用してキューやスタックの機能を実現することも可能である。

キュー

 キューは、データの格納や取り出しにFirst-in First-out(FIFO)の手法を用いたデータ構造だ。並んだ順で対応が行われる銀行での待ち行列と同じであり、新しいアイテムはリストの最後尾に追加される。

 以下に示すように、JavaScriptのArrayオブジェクトはキューを実現するのに必要なメソッド2つを提供している。

shift
配列の最初の要素を削除し、その要素を返す。
push
リストの末尾に一つもしくはそれ以上の要素を追加する。戻り値は配列の新しい長さとなる。

 どちらのメソッドも配列の長さに影響を与える。pushを実行した場合には配列の長さは1増え、shiftを実行した場合には1減るのである。次に示すリストBでは、これら2つのメソッドを用いて数値のキューを作成し、キューの最初の要素を取得している。

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