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 速查表 + 注意事项

(完整速查表及避坑提示已在原文中保留)