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返回拼接后的新数组(不修改原数组)

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

相关推荐
程序员爱钓鱼1 分钟前
Rust impl详解:为Struct定义方法与关联函数
前端·后端·rust
何以解忧,唯有..2 分钟前
预订酒店问题
算法
No8g攻城狮10 分钟前
【算法】什么是 DFS 与 BFS 及他们的区别
算法·深度优先·宽度优先
用户0595401744611 分钟前
Qdrant 召回不一致踩坑实录:跑了 300 次测试才发现是索引没刷新
前端·css
zww894911119 分钟前
家政派单系统实战指南:从需求分析到智能调度算法落地
算法·需求分析
Highcharts.js22 分钟前
Highcharts 主流前端框架无缝集成指南
前端·vue.js·前端框架·highcharts·可视化图表
JAVA面经实录91724 分钟前
网络编程基础(Java Web/分布式前置·完整版)(十一)
java·前端·网络
IT_陈寒26 分钟前
搞不定JavaScript的数组去重?你可能漏了这两个坑
前端·人工智能·后端
手写码匠32 分钟前
华为云Flexus+DeepSeek征文|Dify 多 Agent 评测实战:用 DeepSeek-R1 当裁判,打造多智能体系统的自动化质量保障体系
人工智能·深度学习·算法·aigc
三84435 分钟前
CSRF跨站请求伪造基础
前端·csrf