[TypeScript]Map(マップ)の値のみをループするには?

TypeScript

どうも、ちょげ(@chogetarou)です。

Map(マップ)の値(value)のみをループする方法を紹介します。

スポンサーリンク

方法

Map(マップ)の値(value)のみをループする方法は、2つあります。

for…of文

ひとつは、for…of文を使う方法です。

まず、for…of文のループ対象(ofの右辺)に、引数にMap(マップ)から呼び出したvalues()の結果を指定します。

そして、for…of文にループ処理を指定します。

処理では、ループ変数でMap(マップ)の値を取得します。

//map=対象のマップ
for (const value of nums.values()) {
    //ループ処理
    //ループ変数「value」で値を取得
}

上記のfor文は、Map(マップ)の値のみをループします。

使用例

const nums = new Map();
nums.set("one", 1);
nums.set("two", 2);
nums.set("three", 3);
nums.set("four", 4);
nums.set("five", 5);

for (const value of nums.values()) {
    console.log(value);
}
出力:
[LOG]: 1 
[LOG]: 2 
[LOG]: 3 
[LOG]: 4 
[LOG]: 5 

forEach()

もうひとつは、forEach()を使う方法です。

まず、Map(マップ)からvalues()を呼び出し、その結果を配列に変換します。

values()の結果を変換した配列からforEach()を呼び出します、

forEach()の引数に、1つの引数を持つ関数を指定します。

そして、関数のブロックにループ処理を指定します。

処理では、引数でMap(マップ)の値を取得します。

//map=対象のマップ
[...map.values()].forEach(function(value) {
    //ループ処理
    //引数「value」で値を取得
});

上記のforEach()は、Map(マップ)の値のみをループします。

使用例

const nums = new Map();
nums.set("one", 1);
nums.set("two", 2);
nums.set("three", 3);
nums.set("four", 4);
nums.set("five", 5);

[...nums.values()].forEach(function(value) {
    console.log(value);
});
出力:
[LOG]: 1 
[LOG]: 2 
[LOG]: 3 
[LOG]: 4 
[LOG]: 5 

まとめ

Map(マップ)の値(value)のみをループする方法は、次の2つです。

  • for…of文を使う方法
    for (const value of nums.values()) { ループ処理 }
  • forEach()を使う方法
    [...map.values()].forEach(function(value) { ループ処理 })

コメント

タイトルとURLをコピーしました