Dalam kod "for..in..." saya, kadangkala ralat jenis TypeScript tidak muncul
P粉166779363
P粉166779363 2023-09-09 13:47:13
0
1
460

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...

P粉166779363
P粉166779363

membalas semua(1)
P粉903969231

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

for (const i in seat) {
  if (seat[I]?.nickname === "user1") {
    seat[i] = null;
    break;
  }
}

Contoh: Jika data anda kelihatan seperti di bawah, anda tidak perlu menambah operator rantaian bersyarat atau pilihan.

let seat = [
  { nickname: "user1", uuid: "d94e81f3-df66-45f6-a593-c7ee6ccfe261" },
  { nickname: "user4", uuid: "d94e81f3-df66-45f6-a593-c7ee6ccfe263" },
  { nickname: "user5", uuid: "d94e81f3-df66-45f6-a593-c7ee6ccfe264" },
  { nickname: "user3", uuid: "d94e81f3-df66-45f6-a593-c7ee6ccfe265" },
  { nickname: "user1", uuid: "d94e81f3-df66-45f6-a593-c7ee6ccfe267" },
  { nickname: "user2", uuid: "d94e81f3-df66-45f6-a593-c7ee6ccfe269" },
];
for (const i in seat) {
  if (seat[i].nickname === "user1") {
    seat[i] = null;
    break;
  }
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!