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