JavaScript数组动态可变,可通过push()、unshift()、concat()增容,pop()、shift()、splice()裁剪,直接修改length实现快速截断或清空;扩容填充默认值用fill()或Array.from()。

JavaScript 数组本身是动态的,不需要手动“扩容”或“裁剪”,但可以通过方法灵活改变长度和内容。
用 push()、unshift()、concat() 动态增加元素
这些方法在不修改原数组长度限制的前提下,自动扩展数组容量:
- push():从末尾添加一个或多个元素,返回新长度
- unshift():从开头添加一个或多个元素,返回新长度
- concat():合并数组(返回新数组),不影响原数组
例如:let arr = [1, 2]; arr.push(3, 4); // arr 变为 [1, 2, 3, 4]
用 pop()、shift()、splice() 裁剪元素
这些方法可减少数组长度,实现“裁剪”效果:
立即学习“Java免费学习笔记(深入)”;
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- pop():删除最后一个元素,返回被删值
- shift():删除第一个元素,返回被删值
- splice(start, deleteCount):从指定位置删除指定数量元素,可同时插入新元素
例如:let arr = [1, 2, 3, 4]; arr.splice(1, 2); // arr 变为 [1, 4]
直接修改 length 属性实现快速裁剪或清空
数组的 length 是可写的,设为更小值会截断数组,设为 0 可快速清空:
- arr.length = 2; → 保留前两个元素,其余被丢弃
-
arr.length = 0; → 数组变为空数组(比
arr = []更节省内存,不创建新引用)
注意:把 length 设为比当前大不会填充元素,只是预留空间(访问未赋值索引会得 undefined)。
需要“扩容并填充默认值”时用 Array.from() 或 fill()
如果想让数组变成指定长度并填入默认值(比如全 0),可用:
- Array(5).fill(0) → 创建长度为 5、全为 0 的新数组
- Array.from({ length: 5 }, () => 0) → 同样效果,更灵活(支持计算逻辑)
- 对已有数组扩容再填充:[...arr, ...Array(3).fill(null)]

















