陣列幾乎是所有資料的基石。如果你擁有兩個或更多相同類型的元素,你很可能最終會得到一個陣列。由於數組幾乎無所不在,因此掌握如何操作數組是你的核心技能之一,無論數組包含什麼內容。這在幾乎所有開發領域都是適用的。無論你是轉換、過濾還是檢查數據,數組方法都是關鍵。
我並不期望開發人員記住語言或Web API 的每個函數和功能,但我確實期望你能找到一種或多種方法來轉換(映射)、消除(過濾)和轉換(歸約)數組。
本系列文章將討論不同的陣列方法以及我們如何使用它們。我很想知道您想了解或討論哪些方法,因此如果您有任何想特別介紹的方法,請告訴我。
讓我們來看看一些陣列原型方法及其提供的功能。下表列出了方法簽名,包括回調的詳細資訊。它向我們展示了傳回類型、回應是否包含每個輸入的記錄,以及它是否會為陣列中的每個條目執行回呼。
方法 | 返回值 | 一对一 | 对所有元素运行 |
---|---|---|---|
.map((value, index, array) => *) | 数组 | 是 | 是 |
.filter((value, index, array) => Boolean) | 数组 | 否 | 是 |
.reduce((accumulator, value, index, array) => *, optionalInitial) | * | 否 | 是 |
.find((value, index, array) => Boolean) | */undefined | 否 | 否 |
.some((value, index, array) => Boolean) | 布尔值 | 否 | 否 |
.every((value, index, array) => Boolean) | 布尔值 | 否 | 否 |
.forEach((value, index, array) => undefined) | undefined | N/A | 是 |
.sort((value1, value2) => Math.sign) | 数组 | 是 | **更多?** |
.flat(optionalDepth) | 数组 | 否 | 是 |
.flatMap((values, index, array) => *) | 数组 | 否 | 是 |
性能在此工作中不會是主要考慮因素。我們有時會涉及到它,但對於大多數常見的資料大小,通常不會有明顯的效能影響。一般來說,在效能成為考慮因素之前,你應該專注於程式碼的可讀性和可維護性。在資源有限的設備上工作或處理極其龐大的資料集會帶來一些獨特的限制。如果您有興趣進一步討論效能問題,請告訴我!
在本系列文章中,我們將分解各個陣列方法並討論如何使用它們。有許多常用、創意和「巧妙」的方法來使用這些方法,我們將嘗試涵蓋一些為了可讀性和可維護性而應避免的事情。
以上是JavaScript:陣列無所不在的詳細內容。更多資訊請關注PHP中文網其他相關文章!