js 陣列所有的方法精簡版

好久不见-库克發表於2024-08-25

1. 陣列建立

  • Array.of(...): 建立一個新的陣列例項,其中包含傳入的所有元素。
  • Array.from(arrayLike, mapFn, thisArg): 從類陣列或可迭代物件建立一個新的陣列例項。

2. 訪問和修改

  • length: 返回或設定陣列的長度。
  • at(index): 返回陣列中指定位置的元素,負數表示從陣列末尾倒數的位置。

3. 新增和刪除元素

  • push(...elements): 向陣列末尾新增一個或多個元素。
  • pop(): 移除並返回陣列末尾的元素。
  • unshift(...elements): 向陣列開頭新增一個或多個元素。
  • shift(): 移除並返回陣列開頭的元素。
  • splice(start, deleteCount, ...items): 從陣列中新增或刪除元素。

4. 查詢元素

  • indexOf(element, fromIndex): 返回陣列中首次出現的指定元素的索引,未找到則返回 -1。
  • lastIndexOf(element, fromIndex): 返回陣列中最後一次出現的指定元素的索引,未找到則返回 -1。
  • find(callback, thisArg): 返回陣列中第一個符合條件的元素,找不到則返回 undefined。
  • findIndex(callback, thisArg): 返回陣列中第一個符合條件的元素的索引,找不到則返回 -1。
  • includes(element, fromIndex): 判斷陣列是否包含指定元素,返回布林值。
  • some(callback, thisArg): 判斷陣列中是否至少有一個元素符合條件,返回布林值。
  • every(callback, thisArg): 判斷陣列中是否所有元素都符合條件,返回布林值。

5. 遍歷陣列

  • forEach(callback, thisArg): 對陣列的每個元素執行一次回撥函式。
  • map(callback, thisArg): 返回一個新陣列,其中每個元素是回撥函式的結果。
  • filter(callback, thisArg): 返回一個新陣列,其中包含所有透過測試的元素。
  • reduce(callback, initialValue): 對陣列的每個元素執行回撥函式,返回單一值。
  • reduceRight(callback, initialValue): 從陣列的末尾開始對每個元素執行回撥函式,返回單一值。
  • flat(depth): 將多維陣列“拍平”,可以指定拍平的深度。
  • flatMap(callback, thisArg): 對每個元素應用回撥函式,然後將結果“拍平”至一維陣列。

6. 變換陣列

  • concat(...arrays): 合併兩個或多個陣列。
  • slice(begin, end): 返回陣列的一個片段(淺複製),包含 begin 索引到 end 索引(不包括 end 索引)的元素。
  • join(separator): 將陣列的所有元素連線成一個字串。
  • sort(compareFunction): 對陣列進行排序,可以指定排序函式。
  • reverse(): 顛倒陣列中元素的順序。

7. 其他

  • copyWithin(target, start, end): 將陣列的指定部分複製到另一個位置。
  • fill(value, start, end): 用指定的值填充陣列的部分或全部元素。
  • from(iterable, mapFn, thisArg): 從類陣列或可迭代物件建立陣列,可以應用對映函式。
  • toString(): 將陣列轉換為字串。
  • toLocaleString(): 將陣列轉換為本地化的字串。

8. ES2022+ 方法

  • at(index): 返回陣列中指定位置的元素,可以使用負數索引。
  • groupBy(callback): 將陣列中的元素按回撥函式的返回值分組(需要 polyfill)。
  • groupByToMap(callback): 與 groupBy 類似,但返回的是 Map(需要 polyfill)。

相關文章