數組方法備忘單:
-
添加/刪除元素:
push(...items)—— 向尾端添加元素,pop()—— 從尾端提取一個元素,shift()—— 從首端提取一個元素,unshift(...items)—— 向首端添加元素,splice(pos, deleteCount, ...items)—— 從pos開始刪除deleteCount個元素,并插入items。slice(start, end)—— 創建一個新數組,將從索引start到索引end(但不包括end)的元素復制進去。concat(...items)—— 返回一個新數組:復制當前數組的所有元素,并向其中添加items。如果items中的任意一項是一個數組,那么就取其元素。
-
搜索元素:
indexOf/lastIndexOf(item, pos)—— 從索引pos開始搜索item,搜索到則返回該項的索引,否則返回-1。includes(value)—— 如果數組有value,則返回true,否則返回false。find/filter(func)—— 通過func過濾元素,返回使func返回true的第一個值/所有值。findIndex和find類似,但返回索引而不是值。
-
遍歷元素:
forEach(func)—— 對每個元素都調用func,不返回任何內容。
-
轉換數組:
map(func)—— 根據對每個元素調用func的結果創建一個新數組。sort(func)—— 對數組進行原位(in-place)排序,然后返回它。reverse()—— 原位(in-place)反轉數組,然后返回它。split/join—— 將字符串轉換為數組并返回。reduce/reduceRight(func, initial)—— 通過對每個元素調用func計算數組上的單個值,并在調用之間傳遞中間結果。
-
其他:
Array.isArray(value)檢查value是否是一個數組,如果是則返回true,否則返回false。
請注意,sort,reverse 和 splice 方法修改的是數組本身。
這些是最常用的方法,它們覆蓋 99% 的用例。但是還有其他幾個:
-
arr.some(fn)/arr.every(fn) 檢查數組。
與
map類似,對數組的每個元素調用函數fn。如果任何/所有結果為true,則返回true,否則返回false。這兩個方法的行為類似于
||和&&運算符:如果fn返回一個真值,arr.some()立即返回true并停止迭代其余數組項;如果fn返回一個假值,arr.every()立即返回false并停止對其余數組項的迭代。我們可以使用
every來比較數組: -
arr.fill(value, start, end) —— 從索引
start到end,用重復的value填充數組。 -
arr.copyWithin(target, start, end) —— 將從位置
start到end的所有元素復制到 自身 的target位置(覆蓋現有元素)。 -
arr.flat(depth)/arr.flatMap(fn) 從多維數組創建一個新的扁平數組。
-
Array.of(element0[, element1[, …[, elementN]]]) 基于可變數量的參數創建一個新的
Array實例,而不需要考慮參數的數量或類型。
浙公網安備 33010602011771號