1 数组的作用
数组用于存储有序的数据集合。生活类比:像一列火车,每节车厢装不同货物,且有固定编号(索引)。
2 数组的创建方式
let empty = []; // 空数组
let numbers = [1, 2, 3, 4, 5];
let mixed = [1, 'hello', true, { name: 'Tom' }]; // 混合类型
let nested = [[1, 2], [3, 4]]; // 二维数组
3 数组的基本操作
3.1 访问与修改
let arr = ['a', 'b', 'c'];
arr[1] = 'x'; // 修改
arr[3] = 'd'; // 添加
3.2 获取数组长度
let arr = [10, 20, 30];
console.log(arr.length); // 3
arr.length = 2; // 截断
arr.length = 5; // 扩展(稀疏数组)
3.3 遍历数组
// 传统 for
for (let i = 0; i < colors.length; i++) { ... }
// for...of
for (let color of colors) { ... }
// forEach
colors.forEach((color, index) => console.log(index, color));
4 数组常用方法总结
4.1 添加/删除元素(两端)
| 方法 | 描述 | 返回值 | 改变原数组 |
|---|
| push() | 末尾添加 | 新长度 | 是 |
| pop() | 删除末尾元素 | 被删除元素 | 是 |
| unshift() | 开头添加 | 新长度 | 是 |
| shift() | 删除开头元素 | 被删除元素 | 是 |
4.2 万能方法:splice(删除/替换/插入)
arr.splice(start, deleteCount, item1, ...);
4.3 切片与拼接(不改变原数组)
| 方法 | 描述 | 返回值 |
|---|
| slice() | 提取部分元素 | 新数组 |
| concat() | 合并数组/值 | 新数组 |
4.4 查找数组元素
| 方法 | 描述 | 返回值 |
|---|
| indexOf() | 查找第一次出现的索引 | 索引或 -1 |
| includes() | 是否包含 | true/false |
| find() | 返回第一个满足条件的元素 | 元素或 undefined |
| findIndex() | 返回第一个满足条件的索引 | 索引或 -1 |
4.5 排序与反转
arr.sort((a, b) => a - b); // 数字升序
arr.reverse(); // 反转
4.6 迭代与变换(核心高阶方法)
| 方法 | 描述 | 返回值 |
|---|
| forEach() | 纯遍历 | undefined |
| map() | 转换元素 | 新数组 |
| filter() | 筛选 | 新数组 |
| reduce() | 累积计算 | 任意类型结果 |
| some() | 是否至少有一个满足 | true/false |
| every() | 是否全部满足 | true/false |
4.7 静态方法
Array.isArray([]); // true
5 速查表 + 注意事项
(完整速查表及避坑提示已在原文中保留)