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)が出力される。 |
出力結果は以下の通り。
