javaScript数组操作核心是增删改查与遍历转换,分不改变原数组(如map、Filter、slice)和改变原数组(如push、pop、splice、reverse、sort)两类;添加删除用push/pop/unshift/shift/splice;查找用indexOf/includes/find/findIndex;遍历转换用foreach/map/filter/reduce;其他有concat/join/reverse/sort等。

javascript数组操作核心在于增删改查和遍历转换,常用方法分两类:不改变原数组(返回新数组或值),和改变原数组(会修改原始数据)。
添加与删除元素
向数组末尾添加用 push(),删除末尾用 pop();向开头添加用 unshift(),删除开头用 shift()。这些方法都直接修改原数组,返回值是操作后的数组长度(push/unshift)或被删的元素(pop/shift)。
- push(1, 2) → 在末尾加多个元素
- splice(1, 0, ‘a’, ‘b’) → 从索引1开始删0个、插入’a’和’b’
- splice(2, 1) → 删除索引2处的1个元素(原数组被改)
查找与判断
indexOf() 和 lastIndexOf() 返回首次/末次匹配索引,没找到返回-1;includes() 返回布尔值,更直观判断是否存在;find() 和 findIndex() 接收回调函数,适合按条件查找第一个匹配项。
- arr.includes(‘apple’) → 比 arr.indexOf(‘apple‘) !== -1 更简洁
- arr.find(x => x > 10) → 返回第一个大于10的元素(或undefined)
- arr.findIndex(x => x.name === ‘Tom’) → 返回匹配对象的索引
遍历与转换
forEach() 仅遍历,无返回值;map() 遍历并返回每个元素处理后的新数组;filter() 返回满足条件的元素组成的新数组;reduce() 累积计算,常用于求和、扁平化、分组等。
修正了V1.10的一些BUG感购物HTML系统是集合目前网络所有购物系统为参考而开发,代码采用DIV编号,不管从速度还是安全我们都努力做到最好,此版虽为免费版但是功能齐全,无任何错误,特点有:专业的、全面的电子商务解决方案,使您可以轻松实现网上销售;自助式开放性的数据平台,为您提供充满个性化的设计空间;功能全面、操作简单的远程管理系统,让您在家中也可实现正常销售管理;严谨实用的全新商品数据库,便于
0 立即学习“Java免费学习笔记(深入)”;
- nums.map(x => x * 2) → [1,2,3] → [2,4,6]
- list.filter(item => item.active) → 筛出所有active为true的对象
- arr.reduce((sum, cur) => sum + cur, 0) → 求数组总和
其他实用方法
slice() 截取子数组(不改原数组,类似字符串substring);concat() 合并数组(返回新数组);join() 转为字符串(指定分隔符);reverse() 和 sort() 会改变原数组,注意 sort 默认按字符串排序,数字排序要传比较函数:(a, b) => a – b。
- arr.slice(1, 4) → 取索引1到3(不含4)的元素
- [‘a’].concat([‘b’], [‘c’]) → [‘a’,’b’,’c’]
- [1,2,3].join(‘-‘) → “1-2-3”
基本上就这些。用对方法的关键是看是否需要修改原数组、是否需要返回新数组、以及是否要按条件处理——记清每个方法的“副作用”和返回值类型,就不容易踩坑。