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

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

相关推荐
Nicholas68几秒前
Dart锁机制之synchronized源码解析Lock、BasicLock、objectMakeLock、objectSynchronized(一)
前端
不会c嘎嘎几秒前
【数据结构】红黑树详解:从原理到C++实现
开发语言·数据结构
pandarking几秒前
[CTF]攻防世界:ics-05
开发语言·javascript·web安全·网络安全·ecmascript
武子康2 分钟前
AI研究-133 Java vs Kotlin/Go/Rust/Python/Node:2025 详细对比分析 定位与取舍指南
java·javascript·python·golang·rust·kotlin·node
小帆聊前端5 分钟前
深度解读虚拟列表:从原理到实战,解决长列表渲染性能难题
前端·javascript
在下历飞雨6 分钟前
Kuikly基础之动画实战:让孤寡青蛙“活”过来
前端·ios·harmonyos
吃着火锅x唱着歌7 分钟前
LeetCode 2364.统计坏数对的数目
数据结构·算法·leetcode
前端fighter9 分钟前
全栈项目:校友论坛系统
vue.js·mongodb·node.js
2***c43510 分钟前
nginx服务器实现上传文件功能_使用nginx-upload-module模块
服务器·前端·nginx
qq_3363139311 分钟前
java基础-set类集合进阶
java·算法