どうも、ちょげ(@chogetarou)です。
filter()を使ってObject(オブジェクト)の値(value)からキー(key)を取得する方法を紹介します。
方法

filter()を使ってObject(オブジェクト)の値(value)からキー(key)を取得するには、Object.keys()を使います。
まず、Object.keys()を呼び出します。
Object.keys()の引数に、対象のオブジェクトを指定します。
次に、keys()からfilter()を呼び出します。
filter()の引数に、1つの引数を持つラムダ式を指定します。
そして、filter()のラムダ式で「obj[key] === value」を返します。
(obj=オブジェクト、key=ラムダ式の引数、value=キーを取得したい値)
//obj=対象のオブジェクト, value=キーを取得したい値
Object.keys(obj).filter(key => obj[key] === value)
上記のfilter()は、Object(オブジェクト)の値(value)からキー(key)を配列で取得します。
使用例
const nums = {
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5,
}
console.log(Object.keys(nums).filter(key => nums[key] == 3))
console.log(Object.keys(nums).filter(key => nums[key] == 5))
出力:
[ 'three' ]
[ 'five' ]
コメント