JavaScript:数组常用操作方法的总结表格

方法名 作用描述 是否改变原数组 返回值 示例
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

关键特性总结:

  1. 原地修改方法 (直接改变原数组):
    pushunshiftpopshiftsplicereversesort

  2. 非破坏性方法 (不改变原数组,返回新结果):
    joinconcatindexOf

  3. 返回值差异

    • 添加/删除类:push/unshift返回长度,pop/shift返回被删元素

    • splice返回被删元素的数组

    • concat返回拼接后的新数组(不修改原数组)

使用注意:操作数组时需明确是否需要保留原数组,非破坏性方法可避免意外修改原始数据。

相关推荐
小肝一下3 分钟前
3. 单链表
c语言·数据结构·c++·算法·leetcode·链表·dijkstra
ji_shuke7 分钟前
远程排查 Web 系统问题:如何导出 HAR 文件协助定位
前端·问题排查
劈星斩月10 分钟前
监督学习算法 之 决策树
学习·算法·决策树
学计算机的计算基14 分钟前
操作系统内存管理全解:虚拟内存、页表、COW、malloc、OOM一篇搞定
java·笔记·算法
tachibana219 分钟前
hot100 前 K 个高频元素(347)
java·数据结构·算法·leetcode
程序员爱钓鱼34 分钟前
Rust String 与 &str 详解:字符串所有权、借用与转换
前端·后端·rust
码农学院39 分钟前
GEO与SEO协同:从传统搜索到生成式搜索的平滑迁移路径
服务器·前端·python
To_OC8 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
咩咩啃树皮9 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
阳光是sunny9 小时前
LangGraph中的Reducer是什么
前端·人工智能·后端