JS_javascript スキルで渡された JSON データにフィールドが存在するかどうかを確認する方法

WBOY
リリース: 2016-05-16 16:39:21
オリジナル
1299 人が閲覧しました

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

1.obj["key"] != 未定義

これは欠陥です。キーが定義されているのに、値が未定義であることが非常に多い場合、この文には問題があります。

2.!(オブジェクト内の「キー」)
3.obj.hasOwnProperty("key")

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

元の回答:

実際、未定義かどうかをチェックすることは、キーが存在するかどうかをテストする正確な方法ではありません。キーは存在するが、値が実際には未定義である場合はどうなるでしょうか?

var obj = { キー: 未定義 };
obj["key"] != 未定義 // false、しかしキーは存在します!

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

obj の「key」 // 実際の値に関係なく true

キーが存在しないかどうかを確認したい場合は、必ず括弧を使用してください:

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

と同等です。

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

を使用します。

obj.hasOwnProperty("key") // true

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!