為什麼使用「map()」時「new Array(count)」的行為與陣列文字不同?
Dec 13, 2024 am 11:53 AM為什麼陣列建立會影響陣列轉換?
在某些環境中,使用 new Array(count) 建立陣列會出現意外行為地圖方法。與使用文字語法(例如,[undefined, undefined, undefined])建立的陣列不同,透過 new Array(3) 建構的陣列不會使用 map 正確轉換其元素。
此行為歸因於未填滿的陣列。使用 new Array(count) 建立陣列時,產生的陣列的元素保持未定義狀態。這與使用文字語法建立的陣列不同,後者會自動以 undefined 初始化元素。
要解決此問題並確保映射正確運行,建議使用任何值填充數組元素,例如 undefined ,在嘗試轉換之前。 Array.prototype.fill() 方法可用於此目的。
例如,使用 new Array(count) 和 map 建立前 10 個整數的陣列:
let arr = new Array(10).fill(undefined).map((val, idx) => idx);
登入後複製
這將產生所需的輸出:
[0,1,2,3,4,5,6,7,8,9]
登入後複製
以上是為什麼使用「map()」時「new Array(count)」的行為與陣列文字不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)