[JavaScript]filter()でObject(オブジェクト)の値からキーを取得するには?

JavaScript

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

filter()を使ってObject(オブジェクト)の値(value)からキー(key)を取得する方法を紹介します。

スポンサーリンク

方法

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

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' ]

コメント

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