RUNWEBTOOLS
繁體中文

JavaScript 陣列方法速查表

你最常用的 JavaScript 陣列方法,以及各自回傳什麼,還有關鍵的一點——它是否修改原陣列還是回傳一個新陣列。把這一欄搞對能防止一整類 bug:mapfilter 是安全的,因為它們不動原陣列,而 sortreversesplice 會就地改變它。

更新 2026-07-06

方法作用回傳修改
map()轉換每個元素新陣列
filter()保留通過測試的元素新陣列
reduce()把陣列歸併為單一值任意值
forEach()對每個元素執行一個函式undefined
find()第一個通過測試的元素元素 / undefined
findIndex()第一個相符的索引索引 / -1
some()至少一個通過則為 true布林值
every()全部通過則為 true布林值
includes()某個值是否存在布林值
indexOf()某個值的索引索引 / -1
slice()複製陣列的一部分新陣列
concat()把多個陣列合併為一個新陣列新陣列
join()把元素合併成一個字串字串
flat()展平巢狀陣列新陣列
flatMap()map() 後展平一層新陣列
at()依索引取元素(支援負數)元素
push()在結尾加入一個或多個項新長度
pop()刪除最後一項被刪除的項
shift()刪除第一項被刪除的項
unshift()在開頭加入項新長度
splice()在任意索引加入/刪除項被刪除的項
sort()就地排序陣列該陣列
reverse()就地反轉陣列該陣列
fill()用一個靜態值填滿該陣列
Array.from()從可迭代物件建立陣列新陣列
Array.isArray()檢查一個值是否是陣列布林值

提示:當你需要一個排序後的副本而不動原陣列時,先展開 —— [...arr].sort()。現代 JavaScript 還新增了回傳新陣列的非修改版(toSortedtoReversedtoSplicedwith)。