Rumah > hujung hadapan web > tutorial js > Mengapakah `peta` Nampak Gagal pada Tatasusunan Dibuat dengan `Tasusunan(bilangan) baru`?

Mengapakah `peta` Nampak Gagal pada Tatasusunan Dibuat dengan `Tasusunan(bilangan) baru`?

Barbara Streisand
Lepaskan: 2024-12-23 15:05:10
asal
657 orang telah melayarinya

Why Does `map` Seem to Fail on Arrays Created with `new Array(count)`?

Penciptaan Tatasusunan dan Kegagalan Jelas Peta

Dalam penyemak imbas tertentu, mencipta tatasusunan melalui Tatasusunan(kiraan) baharu dan cuba menggunakan kaedah peta padanya mungkin menghasilkan hasil yang tidak dijangka. Adalah penting untuk memahami mekanisme di sebalik gelagat ini.

Array(count) baharu memulakan tatasusunan dengan bilangan bilangan elemen, semuanya dimulakan kepada tidak ditentukan. Akibatnya, walaupun tatasusunan kelihatan kosong, ia sebenarnya mengandungi satu siri nilai yang tidak ditentukan.

Kaedah peta, apabila digunakan pada tatasusunan, mencipta tatasusunan baharu dengan menggunakan fungsi yang diberikan kepada setiap elemen dalam tatasusunan asal. Dalam contoh yang diberikan, fungsi hanya mengembalikan 0.

Apabila digunakan pada tatasusunan yang dimulakan dengan Tatasusunan(kiraan) baharu, kaedah peta nampaknya tidak mempunyai kesan kerana ia mengembalikan tatasusunan nilai yang tidak ditentukan. Ini kerana fungsi peta digunakan pada nilai yang tidak ditentukan dalam tatasusunan asal, yang menghasilkan tatasusunan baharu nilai yang tidak ditentukan.

Untuk menyelesaikan isu ini, seseorang boleh memulakan elemen tatasusunan dengan nilai tertentu, walaupun undefined, menggunakan kaedah Array.prototype.fill() sebelum cuba menggunakan peta.

Atas ialah kandungan terperinci Mengapakah `peta` Nampak Gagal pada Tatasusunan Dibuat dengan `Tasusunan(bilangan) baru`?. 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