在写代码的时候,数组几乎无处不在。不管是处理用户列表、商品数据,还是读取配置项,都少不了对数组的各种操作。掌握常见的数组操作方法,能让代码更简洁,效率也更高。
添加和删除元素
往数组里加东西是最常见的需求。比如你有个购物车,用户点了“加入购物车”,就得把商品塞进去。用 push() 方法就能直接加到末尾:
let cart = ['苹果', '香蕉'];
cart.push('牛奶'); // 现在 cart 是 ['苹果', '香蕉', '牛奶']
如果想加在开头,就用 unshift()。反过来,删最后一个用 pop(),删第一个用 shift()。这些方法会直接修改原数组。
查找与筛选
有时候需要从一堆数据里找符合条件的项。比如从员工列表中找出所有技术部的人,filter() 就派上用场了:
let staff = [
{name: '张三', dept: '技术'},
{name: '李四', dept: '运营'},
{name: '王五', dept: '技术'}
];
let techTeam = staff.filter(person => person.dept === '技术');
// 得到技术部的所有人
如果只想知道有没有这个人,可以用 includes() 或 find()。includes() 判断值是否存在,find() 可以按条件找第一个匹配的元素。
遍历与转换
处理每个元素是常事。forEach() 能帮你逐个执行操作,比如打印每个用户的欢迎语:
let users = ['小明', '小红', '小刚'];
users.forEach(name => {
console.log('欢迎你,' + name);
});
如果想生成一个新数组,比如把价格都打八折,map() 更合适:
let prices = [100, 200, 300];
let discounted = prices.map(price => price * 0.8);
// discounted 是 [80, 160, 240]
合并与拆分
两个数组合在一起,可以用 concat(),或者更现代的扩展运算符:
let arr1 = [1, 2];
let arr2 = [3, 4];
let merged = [...arr1, ...arr2]; // [1, 2, 3, 4]
如果有一个字符串,像是用逗号分隔的标签,可以拿 split() 拆成数组;反过来,用 join() 把数组拼成字符串也很方便。
排序与反转
显示商品时按价格从低到高排,可以用 sort():
let numbers = [5, 2, 8, 1];
numbers.sort((a, b) => a - b); // [1, 2, 5, 8]
注意,sort() 默认是按字符串排序的,数字要传比较函数才靠谱。想倒过来展示?直接调 reverse() 就行。
这些方法用熟了,写起代码来就像说话一样自然。实际项目中,组合使用它们能解决大多数数据处理问题,也不容易出错。