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

JavaScript

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

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

スポンサーリンク

方法

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

find()を使ってObject(オブジェクト)の値(value)からキー(key)を取得するには、Object.keys()を使います。

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

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

次に、keys()からfind()を呼び出します。

find()の引数に、1つの引数を持つラムダ式を指定します。

そして、find()のラムダ式で「obj[key] === value」を返します。
(obj=オブジェクト、key=ラムダ式の引数、value=キーを取得したい値)

//obj=対象のオブジェクト, value=キーを取得したい値
Object.keys(obj).find(key => obj[key] === value)

上記のfind()は、Object(オブジェクト)の値(value)からキー(key)を取得します。

同じ値が複数ある場合は、最初に判定された要素のみを取得します。

使用例

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

console.log(Object.keys(nums).find(key => nums[key] === 3))
console.log(Object.keys(nums).find(key => nums[key] === 5))
出力:
three
five

コメント

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