【JavaScript】コレクションについて (2)連想配列

投稿者: | 2012年8月5日

JavaScriptでコレクションを扱うもうひとつの方法は、連想配列、つまりハッシュテーブルである。
実は、JavaScriptでいう「オブジェクト」は既に連想配列としての機能を持っている。
JavaでいうところのHashMapのようなものである。
それでは、連想配列の使い方について見ていく。

連想配列を宣言して初期化する

以下のような形が基本となる。

// その1 単純にObjectをnewする
var hash1 = new Object();

// その2 オブジェクトリテラルを使う
var hash2 = {"001":"bob", "002":"John", "003:Alice"};

その2で、キーと値の組み合わせの列を{}で括る書き方をオブジェクトリテラルという。
「var hash2 = {}」とした場合は「new Object()」とするのと同じことである。

連想配列に要素を追加する

以下のようにする。

// その1 インデクサに任意のキーを指定して要素を代入する
hash1["key1"] = "value1";

// その2 ドットの後にキー名を指定して要素を代入する
hash1.key2 = "value2";

キーの型は文字列でも数値でも良い。ただし、数値の場合、その2の書き方では上手くいかないようだ。
JavaScriptでは、このようにしてオブジェクトに追加したキーのことを「プロパティ」と呼ぶ。

連想配列から要素を削除する

delete句を使い、以下のように書く。

// その1 インデクサを指定する
delete hash1["key1"];

// その2 プロパティを指定する
delete hash1.key2;

連想配列を列挙する

for-in文を使い、以下のように書く。

for( var key in hash1 ){
   document.write(key + ":" + hash1[key] + "<br>");
}

for-in文はオブジェクトに追加されたキー(プロパティ)の一覧を列挙する。

以上が、JavaScriptにおける連想配列の基本的な使い方となる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です