JavaScript数组方法参数逻辑分四类:增删类(push/pop/unshift/shift)操作端点,参数简洁;splice三参数控制位置、删除数、插入值;slice两索引提取子数组,支持负数;遍历类回调统一为(item, index, arr)三元组。

JavaScript 数组方法的参数看似简单,但理解清楚才能避免误用。关键不是死记硬背,而是抓住每类方法的参数逻辑和设计意图。
增删类方法的参数:位置 + 数量 + 内容
这类方法(push、pop、unshift、shift)操作固定端点,参数最简洁:
-
push():接收一个或多个要添加到末尾的值,无索引参数。例如
arr.push(1, 'a', true) - pop() 和 shift():不接受任何参数,只作用于固定端点(尾/首)
- unshift():同 push,但添加到开头,参数也是任意个待插入值
splice() 的三段式参数:起点、删几个、插哪些
splice() 是唯一能灵活控制「位置+删除+插入」的方法,三个核心参数缺一不可:
- 第一个参数是起始索引(从 0 开始),负数表示从末尾倒数
- 第二个参数是要删除的元素个数;若为 0,则不删只插
- 第三个及之后的参数是要插入的新元素(可零个、一个或多个)
- 例如:
arr.splice(2, 1, 'x', 'y')表示:从索引 2 开始,删 1 个,再在该位置插入 'x' 和 'y'
slice() 和 substring 类比:两个索引定范围
slice() 提取子数组,参数语义清晰,类似字符串的 substring:
立即学习“Java免费学习笔记(深入)”;
- 第一个参数是起始索引(包含),默认为 0
- 第二个参数是结束索引(不包含),默认为数组长度
- 支持负数:-1 表示最后一个元素,-2 表示倒数第二个
- 注意:它不修改原数组,且不会因越界报错——超出范围时自动截断
遍历类方法的回调参数:统一三元组
包括 forEach、map、filter、find 等,它们传入的回调函数参数顺序固定:
- 第一个是当前元素(
item),必用 - 第二个是当前索引(
index),按需使用 - 第三个是原数组本身(
arr),极少用,仅在需要引用整个数组时才考虑 - 例如:
[1,2,3].map((val, i) => val * 10 + i)→[10, 21, 32]


















