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. 原地修改方法 (直接改变原数组):
    push、unshift、pop、shift、splice、reverse、sort

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

  3. 返回值差异:

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

    • splice返回被删元素的数组

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

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

相关推荐
小码哥_常1 分钟前
一套自己部署的 IM,客户端是同一份 Flutter
前端·后端
蜗牛攻城狮2 小时前
微前端四大方案选型对比与最佳实践:qiankun、micro-app、wujie、Module Federation
前端·微前端·qiankun·前端架构·micro-app·wujie
她说可以呀4 小时前
Vue插槽
前端·javascript·vue.js
qq_448011164 小时前
Vue + Jinja2两套模版与法冲突造成undefinedError
前端·javascript·vue.js
aixingpan4 小时前
aixingpan.cn API开发文档:前端查询夏令时和时区接口指南
前端·php
2601_958352905 小时前
23.5×19mm 换掉一整条音频链?|A-68 集成了什么:ADC / DAC / 24.576MHz 时钟 / AEC / 波束降噪,主控仅需 6 根线
前端·音视频·ai降噪·回声消除·语音模块
UIU1145 小时前
P1233 [ICPC 2001 Taejon R] 木棍加工
数据结构·c++·算法·动态规划
论文复现现场5 小时前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
ZhengEnCi5 小时前
用 AI 写代码为什么拼到最后还是拼人:算力瓶颈与领域专家提示词的本质差异
算法·架构
志尊宝5 小时前
AI原生前端开发(039):AI辅助的Nuxt 4全栈开发
前端·vue.js·ai-native