​

在 JavaScript 开发中,数组是最常用的数据结构之一。
熟练掌握数组方法,不仅能让你更高效地处理数据,还能写出更简洁优雅的代码。
本文将系统介绍常用的数组方法及其使用示例与技巧。

push() —— 向数组末尾添加元素
用途
向数组的末尾添加一个或者多个元素,然后返回新数组的长度。

用法
let person = [‘张三’, ‘李四’];
console.log(person.push(‘王五’)); // 输出:3,返回新数组的长度
console.log(person); // [‘张三’, ‘李四’, ‘王五’]

提示:

push() 会修改原数组。如果希望返回一个新数组,可以使用展开运算符:

const newArr = […person, ‘赵六’];
console.log(person); // [‘张三’, ‘李四’, ‘王五’, ‘赵六’]

pop() —— 移除数组末尾元素
用途
移除数组末尾的元素,并返回该元素的值。

用法
let person = [‘张三’, ‘李四’, ‘王五’]
console.log(person.pop())// 返回被删除的元素王五
console.log(person)// [‘张三’, ‘李四’]
注意:

pop() 操作同样会改变原数组。

shift() —— 移除数组开头元素
用途
移除数组开头的元素,并返回该元素的值。

用法
let person = [‘张三’, ‘李四’, ‘王五’];
console.log(person.shift()); // 输出:张三
console.log(person); // [‘李四’, ‘王五’]
unshift() —— 向数组开头添加元素
用途
向数组开头添加一个或多个元素,并返回新数组的长度。

用法
let person = [‘张三’, ‘李四’, ‘王五’]
console.log(person.unshift(‘赵六’))// 返回新数组长度4
console.log(person)// [‘赵六’,’张三’,’李四’, ‘王五’]
concat() —— 合并数组
用途
合并两个或多个数组,并返回一个新数组,不改变原数组。

用法
let person1 = [‘张三’, ‘李四’, ‘王五’]
let person2 = [‘尼古拉斯’, ‘威廉姆斯’, ‘伊丽莎白’]
console.log(person1.concat(person2))// 返回新数组 [‘张三’, ‘李四’, ‘王五’,’尼古拉斯’, ‘威廉姆斯’, ‘伊丽莎白’]
console.log(person1)// [‘张三’,’李四’, ‘王五’]
console.log(person2)// [‘尼古拉斯’, ‘威廉姆斯’, ‘伊丽莎白’]
提示:
ES6 中可以使用展开语法实现相同功能:

let result = […person1, …person2];
console.log(result); // [‘张三’, ‘李四’, ‘王五’, ‘尼古拉斯’, ‘威廉姆斯’, ‘伊丽莎白’]
splice() —— 修改数组(增、删、改)
用途
从已有数组中返回选定的元素,并返回一个新数组,不改变原数组。

语法
array.slice(start, end);
用法
let person = [‘张三’, ‘李四’, ‘王五’, ‘尼古拉斯’, ‘威廉姆斯’, ‘伊丽莎白’];
console.log(person.slice(1, 4));
// [‘李四’, ‘王五’, ‘尼古拉斯’]
splice() —— 修改数组(增、删、改)
用途
在指定位置修改数组,可以添加或删除多个元素,会改变原数组。

用法
let person = [‘张三’, ‘李四’, ‘王五’, ‘尼古拉斯’, ‘威廉姆斯’, ‘伊丽莎白’];
person.splice(3, 1, ‘建国’, ‘兴邦’);
console.log(person);
// [‘张三’, ‘李四’, ‘王五’, ‘建国’, ‘兴邦’, ‘威廉姆斯’, ‘伊丽莎白’]
参数说明:

index : 开始修改的位置;
howmany : 删除的元素个数;
itemX : 要添加的新元素。
forEach() —— 遍历数组(无返回值)
用途
对数组中的每个元素执行提供的函数。

用法
let person = [‘张三’, ‘李四’, ‘王五’]
person.forEach((name ,index)=>{
console.log(索引${index}对应的人是${name});
})
// 索引0对应的人是张三
// 索引1对应的人是李四
// 索引2对应的人是王五
 提示:

forEach() 适合只执行操作(如打印、修改外部变量),不需要返回值的场景。

map() —— 遍历数组并生成新数组
用途
对数组中的每个元素执行提供的函数,并返回一个新数组。 

用法
let person = [‘张三’, ‘李四’, ‘王五’];
let familyPerson = person.map(name => 葬爱家族·${name});
console.log(familyPerson);
// [‘葬爱家族·张三’, ‘葬爱家族·李四’, ‘葬爱家族·王五’]
注意:

foreach() 不返回新数组;
map() 返回一个与原数组等长的新数组。
其他常用数组进阶方法推荐
方法 功能 是否返回新数组
filter() 过滤符合条件的元素 是
find() 查找第一个符合条件的元素 否(返回元素)
reduce() 累积计算数组值 否(返回结果)
some() / every() 判断是否存在/全部满足条件 否
includes() 判断数组是否包含某个值 否
总结
本文介绍了 JavaScript 数组的常用方法,包括:

增删改查类:push、pop、shift、unshift、splice
复制与合并类:concat、slice
遍历与处理类:forEach、map
熟练掌握这些方法,可以让你更灵活地操作数组,实现从简单列表到复杂数据处理的各种场景。
建议多动手实践,结合调试工具观察数组变化,加深理解。

​