どうも、ちょげ(@chogetarou)です。
連想配列の全ての値(value)を取得する方法を紹介します。
方法

連想配列の全ての値(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()
コメント