Mengapa Operator "dalam" dalam JavaScript Mengenali "0" dalam Tatasusunan
Dalam JavaScript, pengendali "masuk" menyemak sama ada sesuatu harta atau indeks wujud dalam objek atau tatasusunan. Walau bagaimanapun, apabila menggunakannya untuk menguji kehadiran "0" dalam tatasusunan, anda mungkin menemui hasil yang tidak dijangka.
Kes 1: Semakan Indeks
Apabila Pengendali "dalam" digunakan untuk menyemak indeks dalam tatasusunan, ia mengembalikan benar jika indeks itu sah, walaupun tiada nilai pada indeks itu. Contohnya, dalam tatasusunan [1,2], indeks 0 wujud, jadi 0 dalam x kembali benar.
Kes 2: Semakan Nilai
Jika anda' sedang mencari nilai tertentu dalam tatasusunan, menggunakan pengendali "dalam" mungkin tidak memberikan hasil yang diharapkan. Dalam tatasusunan [1,2], 1 dalam x mengembalikan benar kerana 1 hadir sebagai nilai. Walau bagaimanapun, 0 dalam x juga kembali benar, walaupun 0 tiada dalam tatasusunan.
Penjelasan
Operator "dalam" sebenarnya menyemak kehadiran tertentu indeks atau harta, bukan nilai pada indeks atau harta itu. Dalam kes tatasusunan, indeks bermula dari 0, dan berterusan sehingga panjang - 1. Oleh itu, dalam tatasusunan [1,2], 0 ialah indeks yang sah, walaupun tiada nilai pada indeks itu.
Sifat Sah Lain
Selain itu, selain indeks, tatasusunan JavaScript mempunyai sifat sah lain, seperti "panjang" dan "toString". Operator "in" juga akan kembali benar untuk sifat ini.
Kesimpulan
Apabila menggunakan operator "in" untuk menyemak kewujudan elemen dalam tatasusunan , adalah penting untuk diingat bahawa ia merujuk kepada indeks atau kunci, bukan nilainya. Ini boleh membawa kepada hasil yang tidak dijangka apabila menyemak nilai tertentu, seperti 0.
Atas ialah kandungan terperinci Mengapa Operator \'dalam\' Kembali Benar untuk \'0\' dalam Tatasusunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!