連想配列
通常の配列を拡張したもの。配列の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 }