[TypeScript]連想配列の全ての値(value)を取得するには?

TypeScript

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

連想配列の全ての値(value)を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

連想配列の全ての値(value)を取得する方法は、オブジェクトとMapで異なります。

オブジェクトの場合

オブジェクト(Object)の全ての値(value)を取得する場合は、Object.valus()を使います。

まず、Object.values()を呼び出します。

そして、Object.values()の引数に、対象のオブジェクトを指定します。

//T=値の型、obj=オブジェクト
const values: T[] = Object.values(obj)

上記のObject.values()は、引数に指定したオブジェクトの全ての値を持つ配列を取得します。

使用例

const nums = {
    "one": 1,
    "two": 2,
    "three": 3,
    "four": 4,
    "five": 5,
}

const values: number[] = Object.values(nums)

console.log(values)
出力:
[1, 2, 3, 4, 5] 

Map(マップ)の場合

具体的な方法としては、「map.values()」のように、Mapからvalues()を呼び出します。

//T=値の型、map=マップ
const values: IterableIterator<T> = map.values()

上記のvalues()は、呼び出したMapから全ての値を取得します。

使用例

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

const values: IterableIterator<number> = nums.values()

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

まとめ

連想配列の全ての値(value)を取得する方法は、オブジェクトとMapで異なります。

  • オブジェクトの場合は、Object.values()を使う
    const values: T[] = Object.values(obj)
  • Mapの場合は、values()を使う
    const values: IterableIterator<T> = map.values()

コメント

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