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

find()を使ってオブジェクトの値(value)からキー(key)を検索して取得するには、Object.keys()を使います。
まず、Object.keys()を呼び出し、引数にオブジェクトを指定します。
Object.keys()からfind()を呼び出し、find()の引数に1つの引数を持つ関数を指定します。
関数で、「オブジェクトの引数のキーにアクセスした結果」と「検索対象の値」が等しい時にtrueとなる条件式を返します。
//obj(対象のオブジェクト)のvalue(検索対象)からキーを検索して取得
let result = Object.keys(obj).find(key => obj[key] === value);
上記のfind()は、オブジェクト(Object)の値からキーを検索して、そのキーを取得します。
使用例
type Numbers = {
[key: string]: number
}
const nums: Numbers = {
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5,
}
//3のキーを検索して取得
let result = Object.keys(nums).find(key => nums[key] === 3);
console.log(result);
出力:
[LOG]: "two"
コメント