Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Memeriksa Kewujudan Utama dalam Objek dan Tatasusunan JavaScript dengan Amanah?

Bagaimanakah Saya Boleh Memeriksa Kewujudan Utama dalam Objek dan Tatasusunan JavaScript dengan Amanah?

Linda Hamilton
Lepaskan: 2024-12-16 09:44:11
asal
1030 orang telah melayarinya

How Can I Reliably Check for Key Existence in JavaScript Objects and Arrays?

Menentukan Kewujudan Utama dalam Objek JavaScript

Soalan:

Bagaimanakah saya boleh menyemak dengan pasti sama ada kunci tertentu wujud dalam Objek JavaScript atau tatasusunan?

Kebimbangan:

  • Adakah mengakses kunci yang tidak wujud mengembalikan palsu atau membuang ralat?
  • Adakah menyemak undefined kaedah kewujudan kunci yang tepat pengesahan?

Jawapan:

Menyemak kewujudan kunci menggunakan operator yang tidak ditentukan tidak disyorkan kerana ia mungkin tidak boleh dipercayai. Pertimbangkan senario berikut:

var obj = { key: undefined };
console.log(obj["key"] !== undefined); // false, but the key exists!
Salin selepas log masuk

Dalam kes ini, kekunci "kunci" wujud dalam objek obj, tetapi nilainya tidak ditentukan. Oleh itu, menyemak sama ada obj["key"] bukan undefined mengembalikan palsu.

Cadangan:

Untuk menyemak kewujudan kunci dengan pasti, gunakan kaedah hasOwnProperty() untuk objek dan operator dalam untuk tatasusunan dan objek:

  • Untuk objek: obj.hasOwnProperty("key") menyemak sama ada kekunci yang ditentukan (sebagai rentetan) wujud sebagai sifat sendiri objek (tidak termasuk sifat yang diwarisi).
  • Untuk tatasusunan dan objek: masukkan obj semak jika yang ditentukan kunci wujud dalam tatasusunan atau objek, termasuk malah sifat bukan milik sendiri (diwarisi daripada objek induk).

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memeriksa Kewujudan Utama dalam Objek dan Tatasusunan JavaScript dengan Amanah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan