ホームページ  >  記事  >  ウェブフロントエンド  >  JS_javascriptスキルでJSONデータに特定のフィールドが存在するかどうかを判定する方法

JS_javascriptスキルでJSONデータに特定のフィールドが存在するかどうかを判定する方法

WBOY
WBOYオリジナル
2016-05-16 16:56:312418ブラウズ

渡された JSON データに特定のフィールドが存在するかどうかを確認するにはどうすればよいでしょうか?

1.obj["key"] != 未定義
キーが定義されている場合、これは非常に 2 になります。割り当てが未定義の場合、この文には問題が発生します。
2.!("key" in obj)
3.obj.hasOwnProperty("key")

これら 2 つの方法の方が優れており、推奨されます。

元の答え:

実際、未定義かどうかをチェックすることは、キーが存在するかどうかをテストする正確な方法ではありません。キーは存在するが、値が実際には未定義である場合はどうなりますか? 🎜>var obj = { key: unknown };
obj["key"] != unknown // false ですが、キーは存在します!

代わりに in 演算子を使用する必要があります:

"key" in obj // 実際の値に関係なく true

キーが存在するかどうかを確認したい場合は、かっこを使用することを忘れないでください:

!("key " in obj) // オブジェクト
に "key" が存在しない場合は true!"key" in obj // エラー! "false in obj" と同等

または、特に指定したい場合は、オブジェクト インスタンスのプロパティ (継承されたプロパティではない) をテストします。 usehasOwnProperty:

obj.hasOwnProperty("key") // true

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。