js中改变原数组的方法有哪些
时间: 2025-08-16 20:44:56 浏览: 0
### JavaScript 中会修改原数组的方法
在 JavaScript 中,某些方法会对调用它们的数组进行就地修改而不是返回新数组。以下是几种常见的会改变原始数组的方法:
#### 1. `push` 和 `pop`
这些方法用于向数组末尾添加或移除元素。
```javascript
let arr = [1, 2, 3];
arr.push(4);
console.log(arr); // 输出: [1, 2, 3, 4]
arr.pop();
console.log(arr); // 输出: [1, 2, 3]
```
这两种操作都会直接影响到原来的数组[^1]。
#### 2. `shift` 和 `unshift`
这两个函数分别用来从数组头部删除元素或将一个或多个元素插入到数组开头位置。
```javascript
let numbers = ['a', 'b', 'c'];
numbers.shift();
console.log(numbers); // 结果为 ["b", "c"]
numbers.unshift('z');
console.log(numbers); // 结果为 ["z", "b", "c"]
```
同样地,这也会更改实际存在的那个数组对象。
#### 3. `splice`
此方法可以用来添加/替换现有元素以及从中提取任意数量连续项;它能够非常灵活地处理数组内容的变化需求。
```javascript
const months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb'); // 在索引1处插入'Feb'
console.log(months); // 输出: ["Jan", "Feb", "March", "April", "June"]
// 移除特定值的所有实例
for (var i = months.length - 1; i >= 0; i--) {
if (months[i] === 'April') {
months.splice(i, 1);
}
}
console.log(months); // 如果存在的话将会被全部移除
```
这里展示了如何利用循环配合条件判断来实现批量清除指定成员的效果[^3]。
#### 4. `sort`
当对数组中的项目按照一定顺序排列时,`.sort()` 方法不仅改变了内部结构还可能影响外部依赖于该序列的应用逻辑。
```javascript
let points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a-b});
console.log(points); // 排序后的结果取决于比较器定义的方式
```
需要注意的是,默认情况下 `.sort()` 是基于字符串字典序而非数值大小来进行排序的,因此通常建议提供自定义的比较函数以获得预期行为。
阅读全文
相关推荐



















