Memahami Penciptaan Array dan Kaedah peta dalam JavaScript
Apabila mencipta tatasusunan menggunakan ungkapan Array(count) baharu, anda pada asasnya mencipta susunan jarang. Tatasusunan jarang mengandungi "lubang" atau elemen yang tidak ditentukan pada indeks yang belum diberikan nilai secara eksplisit. Tingkah laku ini berbeza daripada tatasusunan yang dibuat menggunakan sintaks literal tatasusunan ([1, 2, 3]), yang mempunyai nilai yang ditentukan untuk semua elemen.
Kaedah peta, sebaliknya, cuba menggunakan fungsi transformasi kepada setiap elemen tatasusunan. Walau bagaimanapun, apabila digunakan pada tatasusunan jarang, kaedah peta melangkau unsur yang tidak ditentukan dan hanya mengubah unsur yang ditentukan. Ini menerangkan tingkah laku yang kelihatan tidak dijangka yang diperhatikan dalam coretan kod yang diberikan.
Menyelesaikan Isu
Untuk menyelesaikan isu ini, seseorang boleh menangani keterbatasan tatasusunan sebelum menggunakan kaedah peta. Kaedah Array.prototype.fill() boleh digunakan untuk menetapkan nilai lalai (seperti undefined) kepada semua elemen dalam tatasusunan. Sebagai alternatif, kaedah peta boleh digabungkan dengan pernyataan bersyarat untuk hanya mengubah elemen yang ditentukan:
var x = new Array(3).fill(undefined); var y = x.map(function(e) { return e !== undefined ? 0 : 1; }); console.log(y); // [1, 1, 1]
Atas ialah kandungan terperinci Mengapa Kaedah `peta` JavaScript Melangkau Elemen Tidak Ditakrifkan dalam Tatasusunan Jarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!