[JavaScript]Object(オブジェクト)の値(value)の存在チェックをするには?

JavaScript

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

Object(オブジェクト)に値(value)が存在するかどうか確認する方法を紹介します。

スポンサーリンク

方法

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

Object(オブジェクト)の値(value)の存在チェックする方法は、2つあります。

includes()

1つは、includes()を使う方法です。

まず、Objectからvalues()を呼び出します。

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

そして、values()からincludes()を呼び出します。

includes()の引数に値(value)を指定します。

//obj=対象のオブジェクト, value=値
Object.values(obj).includes(value)

上記のincludes()は、対象のObject(オブジェクト)に引数の値(value)が存在すれば「true」、存在しなければ「false」を返します。

使用例

function checkValueExists(obj, value) {
    return Object.values(obj).includes(value)
}

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

console.log(checkValueExists(nums, 3))
console.log(checkValueExists(nums, 10))
console.log(checkValueExists(nums, 1))
出力:
true
false
true

indexOf()

もう1つは、indexOf()を使う方法です。

まず、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)は存在しません。

使用例

function checkValueExists(obj, value) {
    return Object.values(obj).indexOf(value) > -1
}

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

console.log(checkValueExists(nums, 3))
console.log(checkValueExists(nums, 10))
console.log(checkValueExists(nums, 1))
出力:
true
false
true
スポンサーリンク

まとめ

Object(オブジェクト)の値(value)の存在チェックする方法は、次の2つです。

  • includes()を使う方法
    Object.values(obj).includes(value)
  • indexOf()を使う方法
    Object.values(obj).indexOf(value) > -1

コメント

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