JavaScript数组操作核心是增删改查与遍历转换,分不改变原数组(如map、filter、slice)和改变原数组(如push、pop、splice、reverse、sort)两类;添加删除用push/pop/unshift/shift/splice;查找用indexOf/includes/find/findIndex;遍历转换用forEach/map/filter/reduce;其他有concat/join/reverse/sort等。
JavaScript数组操作核心在于增删改查和遍历转换,常用方法分两类:不改变原数组(返回新数组或值),和改变原数组(会修改原始数据)。
向数组末尾添加用 push(),删除末尾用 pop();向开头添加用 unshift(),删除开头用 shift()。这些方法都直接修改原数组,返回值是操作后的数组长度(push/unshift)或被删的元素(pop/shift)。
indexOf() 和 lastIndexOf() 返回首次/末次匹配索引,没找到返回-1;includes() 返回布尔值,更直观判断是否存在;find() 和 findIndex() 接收回调函数,适合按条件查找第一个匹配项。
forEach() 仅遍历,无返回值;map() 遍历并返回每个元素处理后的新数组;filter() 返回满足条件的元素组成的新数组;reduce() 累积计算,常用于求和、扁平化、分组等。
slice() 截取子数组(不改原数组,类似字符串substring);concat() 合并数组(返回新数组);join() 转为字符串(指定分隔符);reverse() 和 sort() 会改变原数组,注意 sort 默认按字符串排序,数字排序要传比较函数:(a, b) => a - b。
基本上就这些。用对方法的关键是看是否需要修改原数组、是否需要返回新数组、以及是否要按条件处理——记清每个方法的“副作用”和返回值类型,
就不容易踩坑。