TypeScript indexOfを使ってObjectの要素の存在チェックをする

環境
Windows 11 Pro 64bit
TypeScript 4.4.4

構文
Object.values(オブジェクト変数名).indexOf(value) > -1
values()の引数に、対象のオブジェクトを指定します。
values()からindexOf()を呼び出します。
indexOf()の引数に値(value)を指定します
indexOf()の結果が「-1」より大きければ、対象のObject(オブジェクト)に値(value)は存在します。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
type Citys = {
[key: string]: number
}
function checkValExists(obj: Citys, value: number) {
return Object.values(obj).indexOf(value) > -1
}
const obj: Citys = {
"tokyo": 17,
"oosaka": 18,
"yokohama": 13
}
console.log(checkValExists(obj, 27))
console.log(checkValExists(obj, 13))
console.log(checkValExists(obj, 33))
type Citys = { [key: string]: number } function checkValExists(obj: Citys, value: number) { return Object.values(obj).indexOf(value) > -1 } const obj: Citys = { "tokyo": 17, "oosaka": 18, "yokohama": 13 } console.log(checkValExists(obj, 27)) console.log(checkValExists(obj, 13)) console.log(checkValExists(obj, 33))
type Citys = {
    [key: string]: number
}

function checkValExists(obj: Citys, value: number) {
     return Object.values(obj).indexOf(value) > -1
}

const obj: Citys = { 
    "tokyo": 17, 
    "oosaka": 18,
    "yokohama": 13
}

console.log(checkValExists(obj, 27))
console.log(checkValExists(obj, 13))
console.log(checkValExists(obj, 33))

実行結果
[LOG]: false
[LOG]: true
[LOG]: false

TypeScript

Posted by arkgame