JavaScript数组是存储多个值的有序集合,用方括号创建(如["苹果","香蕉"]),通过索引访问修改元素,常用for、for...of及map/filter/reduce遍历,避免for...in和遍历时修改数组。

JavaScript 数组是用来存储多个值的有序集合,它用一个变量名就能管理一堆数据,比如一串数字、一列名字,或者混合类型的数据。
数组怎么创建?
最常用的是方括号语法:
let fruits = ["苹果", "香蕉", "橙子"];
let numbers = [1, 2, 3, 4];
let mixed = ["hello", 42, true, null];
也可以用 Array() 构造函数,但一般不推荐,容易出歧义(比如 new Array(5) 创建的是长度为 5 的空数组,不是包含数字 5 的数组)。
立即学习“Java免费学习笔记(深入)”;
怎么访问和修改数组元素?
数组元素按索引(从 0 开始)访问:
console.log(fruits[0]); // "苹果"
fruits[1] = "芒果"; // 把"香蕉"替换成"芒果"
数组长度通过 length 属性获取,它会自动更新:
console.log(fruits.length); // 3
常用的遍历方式有哪些?
根据需求选合适的方法,不追求“最酷”,而要清楚每种的适用场景:
-
for 循环:最基础、最灵活,适合需要索引、提前退出或复杂控制逻辑的情况
for (let i = 0; i console.log(i + ": " + fruits[i]);
} -
forEach():简洁,适合“对每个元素做点事”,但不能用
break或return中断循环
fruits.forEach((item, index) => {
console.log(index + ": " + item);
}); -
for...of:现代写法,直接拿到元素值,语义清晰,支持
break/continue
for (const fruit of fruits) {
console.log(fruit);
} -
map() / filter() / reduce():不叫“遍历”,而是“转换”“筛选”“聚合”,返回新数组或值,不修改原数组,适合函数式编程思路
const upperFruits = fruits.map(f => f.toUpperCase());
遍历时要注意什么?
几个实际中容易踩的坑:
- 别用 for...in 遍历数组——它本是为对象属性设计的,可能遍历到原型方法或非数字键,顺序也不保证;
- 修改正在遍历的数组(比如边遍历边
push或splice),可能导致漏项或死循环; - 箭头函数里没有自己的
this,如果回调里要用this,注意绑定或换普通函数。
基本上就这些。数组是 JS 最常用的数据结构之一,掌握好创建、访问和几种遍历方式,日常开发就稳了一大半。











