在某些瀏覽器中,透過new Array(count) 建立陣列並嘗試對其應用map 方法可能會產生錯誤意想不到的結果。了解此行為背後的機制非常重要。
new Array(count) 初始化一個包含 count 個元素的數組,所有元素都初始化為未定義。因此,即使數組看起來是空的,它實際上包含一系列未定義的值。
map 方法,當應用於陣列時,透過將給定函數應用於陣列中的每個元素來建立一個新陣列。原始數組。在提供的範例中,函數僅傳回 0。
當在使用 new Array(count) 初始化的陣列上呼叫時,map 方法似乎沒有任何效果,因為它會傳回一個由未定義值組成的陣列。這是因為映射函數應用於原始數組中未定義的值,從而產生一個新的未定義值數組。
要解決此問題,可以使用特定值初始化數組元素,甚至未定義,在嘗試應用地圖之前使用 Array.prototype.fill() 方法。
以上是為什麼「map」在使用「new Array(count)」建立的陣列上似乎失敗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!