首頁 web前端 js教程 為什麼使用「map()」時「new Array(count)」的行為與陣列文字不同?

為什麼使用「map()」時「new Array(count)」的行為與陣列文字不同?

Dec 13, 2024 am 11:53 AM

Why Does `new Array(count)` Behave Differently from Array Literals When Using `map()`?

為什麼陣列建立會影響陣列轉換?

在某些環境中,使用 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 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

在JavaScript中替換字符串字符 在JavaScript中替換字符串字符 Mar 11, 2025 am 12:07 AM

在JavaScript中替換字符串字符

自定義Google搜索API設置教程 自定義Google搜索API設置教程 Mar 04, 2025 am 01:06 AM

自定義Google搜索API設置教程

示例顏色json文件 示例顏色json文件 Mar 03, 2025 am 12:35 AM

示例顏色json文件

8令人驚嘆的jQuery頁面佈局插件 8令人驚嘆的jQuery頁面佈局插件 Mar 06, 2025 am 12:48 AM

8令人驚嘆的jQuery頁面佈局插件

10個jQuery語法熒光筆 10個jQuery語法熒光筆 Mar 02, 2025 am 12:32 AM

10個jQuery語法熒光筆

什麼是這個'在JavaScript? 什麼是這個'在JavaScript? Mar 04, 2025 am 01:15 AM

什麼是這個'在JavaScript?

構建您自己的Ajax Web應用程序 構建您自己的Ajax Web應用程序 Mar 09, 2025 am 12:11 AM

構建您自己的Ajax Web應用程序

10 JavaScript和JQuery MVC教程 10 JavaScript和JQuery MVC教程 Mar 02, 2025 am 01:16 AM

10 JavaScript和JQuery MVC教程

See all articles