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)。