typescript

TypeScript 連想配列キーを動的に設定する

typescriptで連想配列の扱う方法を整理します。

ちなみに連想配列とは配列要素にアクセスする際のキーを任意に設定する事ができる配列です。

実装は以下のような感じ。

// 配列宣言
var hoge: {[hogekey: string]: string} = {};

// 要素の設定
hoge['t1'] = 'hoge1';
hoge['t2'] = 'hoge2';

// 値参照
for (var ar in hoge) {
	console.log(ar);
	console.log(hoge[ar]);
}

配列の宣言

まずは、連想配列を宣言します。

宣言時は配列はからっぽにしておいて、動的にアクセスキーを設定できるようにしておきます。ここではアクセスキーの型はstringとして定義しています。

ちなみにここで、= {}; を設定しないと、キー設定時にundefinedエラーが発生するので注意。

要素の設定

次に、hoge配列に対して、string型の任意の文字列をアクセスキー(t1, t2)として定義して、それぞれに対して値(hoge1, hoge2)を設定しています。

値の参照

最後に、連想配列の中身をfor文で参照していますが、ここでも注意が必要。

「var ar in hoge」で ar の中に入るのは配列の値ではなく、アクセスキー[hogekey]が設定されるので、配列の値を参照するには「hoge[ar]」のように配列にアクセスキーを渡してあげる必要があります。

ソース結果
console.log(ar);配列のアクセスキー(h1, h2)が出力される。
console.log(hoge[ar]);配列の値(hoge1, hoge2)が出力される。

出力結果は以下の通り。

-typescript
-