JavaScript数组方法按功能分为修改原数组、返回新数组、遍历查询、类型转换四类;常用高频方法为map、filter、find、reduce和splice,需注意是否改变原数组以避免数据意外覆盖。

JavaScript数组提供了大量实用方法,按功能可分为修改原数组、返回新数组、遍历查询、类型转换等几类。掌握常用方法能显著提升开发效率,避免手动循环。
改变原数组的方法
这些方法会直接修改原始数组,使用时需注意副作用:
- push():在末尾添加一个或多个元素,返回新长度
- pop():删除并返回最后一个元素
- shift():删除并返回第一个元素
- unshift():在开头添加一个或多个元素,返回新长度
-
splice():从指定位置增删改元素,功能最强也最灵活(如
arr.splice(1, 2, 'a', 'b')表示从索引1开始删2个,插入'a'和'b') - reverse():反转数组顺序
-
sort():默认按字符串Unicode排序;数字排序需传比较函数,如
arr.sort((a, b) => a - b)
返回新数组的方法
不改变原数组,适合函数式编程习惯:
-
slice():浅拷贝部分元素,
arr.slice(1, 4)返回索引1到3的元素(不包含4) -
concat():合并数组或值,返回新数组(
[1].concat([2], 3)→[1,2,3]) -
map():对每个元素调用函数,返回映射后的新数组(如
[1,2,3].map(x => x * 2)→[2,4,6]) -
filter():返回满足条件的元素组成的新数组(如
[1,2,3].filter(x => x > 1)→[2,3]) - flatMap():先map再flat一层,适合处理嵌套结构
遍历与查询方法
用于查找、判断或执行副作用操作:
立即学习“Java免费学习笔记(深入)”;
- forEach():遍历执行函数,无返回值(不能用break中断,可用return跳过当前)
- find():返回第一个满足条件的元素(找不到返回undefined)
- findIndex():返回第一个满足条件的元素索引(找不到返回-1)
-
includes():判断是否包含某值,支持NaN(
[NaN].includes(NaN)返回true) - indexOf():返回首次出现的索引(不支持NaN)
- some():只要有元素满足条件就返回true
- every():所有元素都满足才返回true
聚合与转换方法
常用于数据汇总或格式转换:
-
reduce():累计计算,接受累加器和当前值(如求和:
[1,2,3].reduce((sum, x) => sum + x, 0)) - reduceRight():从右往左累计
-
join():用指定分隔符拼接为字符串(
[1,2,3].join('-')→"1-2-3") - toString():转为逗号分隔字符串(简单场景可用,但不推荐用于复杂数据)
-
flat():扁平化数组,可指定深度(
[1,[2,[3]]].flat(2)→[1,2,3])
基本上就这些。实际开发中,map、filter、find、reduce 和 splice 出现频率最高。注意区分哪些会改原数组,哪些返回新数组,避免意外覆盖数据。










