どうも、ちょげ(@chogetarou)です。
indexOf()を使ってObject(オブジェクト)に値(value)が存在するかどうか確認する方法を紹介します。
方法

indexOf()を使ってObject(オブジェクト)の値(value)の存在チェックをするには、values()を使います。
まず、Objectからvalues()を呼び出します。
values()の引数に、対象のオブジェクトを指定します。
次に、values()からindexOf()を呼び出します。
indexOf()の引数に値(value)を指定します。
そして、indexOf()の結果が「−1」より大きいかどうか調べます。
//obj=対象のオブジェクト, value=値
Object.values(obj).indexOf(value) > -1
上記のindexOf()の結果が「-1」より大きければ、対象のObject(オブジェクト)に値(value)は存在します。
indexOf()の結果が「-1」以下ならば、対象のObject(オブジェクト)に値(value)は存在しません。
使用例
type Numbers = {
[key: string]: number
}
function checkValueExists(obj: Numbers, value: number) {
return Object.values(obj).indexOf(value) > -1
}
const nums: Numbers = {
"one": 1,
"two": 2,
"three": 3,
"four": 4,
"five": 5,
}
console.log(checkValueExists(nums, 1))
console.log(checkValueExists(nums, 0))
console.log(checkValueExists(nums, 5))
出力:
[LOG]: true
[LOG]: false
[LOG]: true
コメント