Bagaimana untuk menentukan sama ada medan tertentu wujud dalam data JSON yang diluluskan dalam kemahiran JS_javascript

WBOY
Lepaskan: 2016-05-16 16:39:21
asal
1337 orang telah melayarinya

Bagaimana untuk menentukan sama ada medan tertentu wujud dalam data JSON yang dihantar?

1.obj["key"] != undefined

Ini rosak jika kunci ditakrifkan dan nilainya selalunya tidak ditentukan, maka akan ada masalah dengan ayat ini.

2.!("kunci" dalam obj)
3.obj.hasOwnProperty("kunci")

Dua kaedah ini lebih baik dan disyorkan.

Jawapan asal:

Sebenarnya, menyemak undefined-ness bukanlah cara yang tepat untuk menguji sama ada kunci wujud. Bagaimana jika kunci itu wujud tetapi nilainya sebenarnya tidak ditentukan?

var obj = { key: undefined };
obj["key"] != undefined // false, tetapi kunci itu wujud!

Sebaliknya anda harus menggunakan operator dalam:

"kunci" dalam obj // benar, tanpa mengira nilai sebenar

Jika anda ingin menyemak sama ada kunci tidak wujud, ingat untuk menggunakan kurungan:

!("kunci" dalam obj) // benar jika "kunci" tidak wujud dalam objek
!"kunci" dalam obj // ERROR! Bersamaan dengan "false dalam obj"

Atau, jika anda ingin menguji khasnya untuk sifat contoh objek (dan bukan sifat yang diwarisi), usehasOwnProperty:

obj.hasOwnProperty("kunci") // benar

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan