一、修改原数组的方法(变异方法)
1. 增删元素
push()- 末尾添加元素pop()- 末尾删除元素shift()- 开头删除元素unshift()- 开头添加元素splice()- 在指定位置添加/删除元素
2. 排序和反转
reverse()- 反转数组顺序sort()- 数组排序
3. 填充和复制
fill()- 填充数组元素copyWithin()- 复制数组内部元素
二、不修改原数组的方法
1. 连接和切片
concat()- 合并数组slice()- 提取数组片段
2. 搜索和查找
indexOf()- 查找元素首次出现位置lastIndexOf()- 查找元素最后出现位置includes()- 判断是否包含某元素find()- 查找第一个符合条件的元素findIndex()- 查找第一个符合条件的元素索引
3. 转换和字符串化
join()- 数组转字符串toString()- 转换为字符串toLocaleString()- 本地化字符串
三、迭代方法
1. 遍历方法
forEach()- 遍历数组
2. 映射和过滤
map()- 映射新数组filter()- 过滤数组flat()- 数组扁平化flatMap()- 映射后扁平化
3. 归约方法
reduce()- 从左到右归约reduceRight()- 从右到左归约
4. 测试方法
every()- 所有元素都满足条件some()- 至少一个元素满足条件
四、静态方法
Array.isArray()- 判断是否为数组Array.from()- 从类数组对象创建数组Array.of()- 创建包含任意数量元素的数组
五、迭代器方法
keys()- 返回键的迭代器values()- 返回值的迭代器entries()- 返回键值对的迭代器
示例代码:
// 常用方法示例
const arr = [1, 2, 3];
// 添加/删除
arr.push(4); // [1, 2, 3, 4]
arr.pop(); // [1, 2, 3]
// 映射和过滤
const doubled = arr.map(x => x * 2); // [2, 4, 6]
const filtered = arr.filter(x => x > 1); // [2, 3]
// 查找
const found = arr.find(x => x > 2); // 3
const index = arr.indexOf(2); // 1
// 归约
const sum = arr.reduce((acc, cur) => acc + cur, 0); // 6
这些方法使得数组操作变得非常方便和强大。根据需求选择合适的方法可以写出更简洁高效的代码。