Tiada masalah semasa menguji, tetapi kadangkala ralat "Tidak boleh membaca sifat null (baca 'nickname')" . Saya menyiarkan sebahagian daripada kod.
let seat = [ null, null, { nickname: "user1", uuid: "d94e81f3-df66-45f6-a593-c7ee6ccfe261" }, null, { nickname: "user2", uuid: "d94e81f3-df66-45f6-a593-c7ee6ccfe261" }, null, null, null, null, null, null, ]; for (const i in seat) { if (seat[i].nickname === "user1") { seat[i] = null; break; } } console.log(seat);
Saya tidak tahu kenapa kadang-kadang tiada masalah, tetapi tiba-tiba ada kesilapan.
for (const i in seat) { if (seat[i] !== null && seat[i].nickname === "user1") { seat[i] = null; break; } }
Saya menyelesaikan masalah buat sementara waktu dengan menukar kod dalam borang di atas. Saya pelik kenapa...
Ini kerana beberapa elemen dalam tatasusunan adalah batal, jadi anda harus menambah syarat untuk diperiksa, seperti yang anda lakukan
seat[i] !== null
,但你也可以使用可选链操作符?.
.Rujukan:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Optional_chaining
Contoh: Jika data anda kelihatan seperti di bawah, anda tidak perlu menambah operator rantaian bersyarat atau pilihan.