Typescript 文法基礎

連想配列

通常の配列を拡張したもの。配列のIndexを数字の代わりに、任意の型として定義できます。 ただし、通常の配列とことなり、順序保証はされないので、注意が必要です。

連想配列基本系

以下の場合、Indexも要素もstringで定義しています。

let Fluits = {"A": "apple", "B": "orange"}; //初期化
console.log(Fluits["A"]); //indexを指定して、アクセスを行う。

#apple

要素のKey一覧を参照する場合

Object.keys()を利用することで、要素のKey一覧を参照できます。

let Fruits = {"A": "apple", "B": "orange"};
console.log(Object.keys(Fruits));
#[ 'A', 'B' ]

連想配列のサイズを確認する

let Fruits = {"A": "apple", "B": "orange"};
console.log(Object.keys(Fruits).length);
# 2

ループでアクセスする場合

for(let i in Fruits){  //要素へのアクセス
   console.log(i , Fruits[i]);
}

#A apple
#B orange

Indexや要素を明示的に指定したい場合。

{[index: Indexの型]: 要素の型} 以下の場合は、indexがstring, 要素がnumberで連想配列を生成しています。

let Foods: {[index: string]: number} = {"A": 1, "B": 2};

for(let i in Foods){  //要素へのアクセス
   console.log(i , Foods[i]);
}

#A 1
#B 2

要素を追加/削除する場合

任意のIndexを指定して、要素を追加することができます。

console.log(Foods);    //{ A: 1, B: 2 }
Foods['C'] = 5;       //Index Cで、要素5の連想配列を追加。

console.log(Foods);    //{ A: 1, B: 2, C: 5 }
console.log(Foods);    //{ A: 1, B: 2 }
delete Foods['A'];       //Index Aの連想配列を削除

console.log(Foods);    //{ B: 2, C: 5 }