| 方法名 | 作用描述 | 是否改变原数组 | 返回值 | 示例 |
|---|---|---|---|---|
| push | 向数组尾部添加一个或多个元素 | 是 | 新数组长度 | arr.push(5) → 返回长度 |
| unshift | 向数组头部添加一个或多个元素 | 是 | 新数组长度 | arr.unshift(0) → 返回长度 |
| pop | 删除最后一个元素 | 是 | 被删除的元素 | arr.pop() → 返回删除的元素 |
| shift | 删除第一个元素 | 是 | 被删除的元素 | arr.shift() → 返回删除的元素 |
| splice | 删除/替换/添加任意位置元素 | 是 | 被删除元素组成的数组 | arr.splice(1,2) → 返回删除部分 |
| join | 将数组转为字符串 | 否 | 连接后的字符串 | arr.join('-') → "a-b-c" |
| reverse | 反转数组元素顺序 | 是 | 反转后的数组 | arr.reverse() → 原数组反转 |
| sort | 排序数组元素 | 是 | 排序后的数组 | arr.sort() → 原数组排序 |
| concat | 拼接多个数组 | 否 | 新数组 | arr.concat([4,5]) → 新数组 |
| indexOf | 查找元素首次出现的索引 | 否 | 索引值(未找到返回-1) | arr.indexOf('a') → 0 |
关键特性总结:
-
原地修改方法 (直接改变原数组):
push、unshift、pop、shift、splice、reverse、sort -
非破坏性方法 (不改变原数组,返回新结果):
join、concat、indexOf -
返回值差异:
-
添加/删除类:
push/unshift返回长度,pop/shift返回被删元素 -
splice返回被删元素的数组 -
concat返回拼接后的新数组(不修改原数组)
-
✅ 使用注意:操作数组时需明确是否需要保留原数组,非破坏性方法可避免意外修改原始数据。