JavaScript数组核心操作包括增删改查、遍历、排序等:push/pop/unshift/shift/splice用于添加删除元素;indexOf/includes/find/findIndex判断或查找元素;forEach/map/filter/reduce实现遍历与转换;sort和reverse进行排序与反转,多数方法不改变原数组,结合箭头函数与链式调用可提升代码效率。

JavaScript数组是开发中使用频率极高的数据结构,掌握其常用操作方法能极大提升编码效率。本文将系统介绍JS数组的增删改查、遍历、排序等核心操作,并结合实际示例帮助理解。
添加与删除元素
数组的增删操作是最基础的功能,JS提供了多种方法实现不同位置的操作:
- push():在数组末尾添加一个或多个元素,返回新长度
- pop():移除最后一个元素,返回被移除的值
- unshift():在开头添加元素,影响所有索引位置
- shift():删除第一个元素,其余元素前移
- splice():万能方法,可实现任意位置的增删改
示例:
let arr = [1, 2];arr.push(3); // [1, 2, 3]
arr.unshift(0); // [0, 1, 2, 3]
arr.pop(); // 返回 3,arr 变为 [0, 1, 2]
arr.shift(); // 返回 0,arr 变为 [1, 2]
arr.splice(1, 0, 'a'); // 在索引1处插入'a' → [1, 'a', 2]
查找与判断元素
在数组中定位特定值或判断是否存在某元素,常用以下方法:
- indexOf():返回第一个匹配项的索引,无则返回-1
- includes():返回布尔值,判断是否包含某值
- find():返回第一个满足条件的元素
- findIndex():返回满足条件元素的索引
- some() 和 every():判断部分或全部元素是否满足条件
示例:
const nums = [10, 20, 30];nums.includes(20); // true
nums.indexOf(30); // 2
nums.find(n => n > 15); // 20
nums.some(n => n > 25); // true
nums.every(n => n
遍历与映射操作
对数组每个元素执行操作时,推荐使用函数式编程方法:
示例:
const list = [1, 2, 3];list.forEach(x => console.log(x)); // 打印每个值
const doubled = list.map(x => x * 2); // [2, 4, 6]
const evens = list.filter(x => x % 2 === 0); // [2]
const sum = list.reduce((acc, cur) => acc + cur, 0); // 6
排序与反转
数组原生支持顺序调整:
- sort():默认按字符串Unicode排序,可传入比较函数自定义规则
- reverse():反转数组元素顺序
注意:这两个方法会改变原数组。
示例:
let values = [3, 1, 4, 2];values.sort((a, b) => a - b); // 升序 → [1, 2, 3, 4]
values.reverse(); // 反转 → [4, 3, 2, 1]
基本上就这些。熟练运用这些方法,配合箭头函数和链式调用,能让代码更简洁清晰。关键在于理解每个方法是否修改原数组、返回值类型以及适用场景。多练习组合使用,比如 filter + map + reduce 的模式,在处理真实数据时非常高效。










