push和pop是JavaScript数组末尾操作方法:push向末尾添加一个或多个元素,返回新长度并修改原数组;pop删除末尾元素并返回该元素,空数组时返回undefined。

push 和 pop 是 JavaScript 数组的内置方法,专门用于在数组**末尾**操作元素:前者添加,后者删除。
push:往数组末尾添加一个或多个元素
调用 push() 会在原数组末尾追加参数中的所有值,并返回**新数组的长度**(不是新数组本身)。
- 可以一次添加多个元素,用逗号分隔
- 会直接修改原数组,不生成新数组
- 如果传入数组,它会被当作一个整体元素添加进去(不是展开)
示例:
let arr = [1, 2];arr.push(3); // arr 变为 [1, 2, 3],返回 3
arr.push(4, 5); // arr 变为 [1, 2, 3, 4, 5],返回 5
arr.push([6, 7]); // arr 变为 [1, 2, 3, 4, 5, [6, 7]],返回 6
pop:从数组末尾删除一个元素
pop() 移除并返回数组的最后一个元素,同时原数组长度减 1。
立即学习“Java免费学习笔记(深入)”;
- 不接受参数;调用时括号不能省略
- 如果数组为空,返回
undefined - 同样直接修改原数组
示例:
let arr = [1, 2, 3];let last = arr.pop(); // last 是 3,arr 变为 [1, 2]
arr.pop(); // 返回 2,arr 变为 [1]
arr.pop(); // 返回 1,arr 变为 []
arr.pop(); // 返回 undefined,arr 仍是 []
常见用途与注意事项
这两个方法常用于实现“后进先出”(LIFO)逻辑,比如函数调用栈、撤销操作、临时缓存等。
- 它们只影响数组末尾,性能高效(时间复杂度 O(1))
- 不要混淆
pop()和shift()(后者操作开头,性能较差) - 若需添加/删除开头元素,用
unshift()/shift();若需非破坏性操作,考虑扩展运算符或concat()、slice()


















