数组的方法 中哪些会更新原数组 哪些不会

本文详细介绍了JavaScript数组中的各种方法,区分了那些方法会修改原数组,如push(), unshift(), pop(), shift(), splice(), reverse(), sort();同时介绍了不会修改原数组的方法如slice(), concat(), filter(), map()等。此外还讲解了数组的其他常用方法如join(), indexOf(), includes()等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组的方法 中哪些会更新原数组 哪些不会

1、会更新原数组的方法:
a.arr.push()往数组的最后一个位置追加元素
b.arr.unshift()往数组的第一个位置追加元素
c.arr.pop()移除数组的最后一个元素,并返回被删除的元素
d.arr.shift()移除数组的第一个元素,并返回被删除的元素
e.arr.splice()移除数组某个位置的元素,可以移除多个
f.arr.reverse()数组翻转,返回新数组,会影响原数组
g.arr,sort()数组排序,返回新数组,会影响原数组
2.不会更新元素的方法:
a.arr.slice()切割数组,返回新数组,不会对原始数组造成影响
b.arr.concat()实现数组的拼接,返回新数组,不影响原数组
c.arr.filter()过滤数组,遍历所有元素,会根据某个条件对数组进行过滤,最终返回一个新数组,不会影响原数组
d.arr.map() 根据原数组,遍历所有元素,返回一个新的数组,但是数组元素结构 可能发生变化,但不更新原数组

数组的其他方法:
1.arr.join() 把数组进行拼接,返回拼接后的字符串
2.toString() 把数组转成字符串
3.indexOf() 查询某个元素的索引位置 返回第一个出现元素的索引
4.lastindexOf 查询某个元素的索引位置 返回最后一个出现的元素的索引
5.includes() 判断某个元素是否存在
6.forEach() 遍历数组 会遍历到数组的每个元素
7.arr.some() 用于查询数组中是否有复合条件的某个元素,如果有,返回true 没有 返回false
8.every 用于查询数组中的每一个蒜素是否都符合条件,如果都符合,返回true 没有 返回false
9.find 查找符合条件的某个元素,返回元素对象
10.findIndex 查找符合条件的某个元素,返回元素的索引值
11. sort 根据对象的某个字段 进行排序

### JavaScript 数组方法中会修改数组方法JavaScript 中,某些数组方法会对数组产生影响并直接对其进行修改。这些方法通常被称为 **就地修改 (in-place modification)** 的方法。以下是几个常见的会修改数组数组方法: #### 1. `sort()` 方法 `sort()` 方法用于对数组元素进行排序,并返回已排序的数组。此方法会改变数组的内容[^2]。默认情况下,它按照字符串的 Unicode 编码顺序进行排序。 ```javascript let numbers = [3, 1, 4]; numbers.sort(); console.log(numbers); // 输出: [1, 3, 4] ``` #### 2. `reverse()` 方法 `reverse()` 方法数组中的元素顺序反转,并返回该数组。这个方法也会直接影响到调用它的数组。 ```javascript let fruits = ['apple', 'banana', 'cherry']; fruits.reverse(); console.log(fruits); // 输出: ["cherry", "banana", "apple"] ``` #### 3. `pop()` 和 `push()` 方法 虽然严格来说不是“批量”修改整个数组结构,但 `pop()` 和 `push()` 都会影响数组长度以及内容。 - `pop()` 删除数组的最后一项。 - `push()` 向数组末尾添加一项或多项目。 ```javascript let colors = ['red', 'green', 'blue']; colors.pop(); // 移除最后一项 console.log(colors); // 输出: ["red", "green"] colors.push('yellow'); // 添加新的一项 console.log(colors); // 输出: ["red", "green", "yellow"] ``` #### 4. `shift()` 和 `unshift()` 方法 这两个方法分别从数组头部移除或新增元素,同样也改变了数组。 ```javascript let letters = ['a', 'b', 'c']; letters.shift(); // 移除首项 console.log(letters); // 输出: ["b", "c"] letters.unshift('z'); // 插入到开头 console.log(letters); // 输出: ["z", "b", "c"] ``` #### 5. `splice()` 方法 `splice()` 是最强大的数组修改方法之一,它可以删除现有元素、替换它们或者向指定位置插入新元素。由于其多功能性,它是唯一可以同时完成上述三种操作的方法[^1]。 ```javascript let items = ['item1', 'item2', 'item3']; // 删除两项 items.splice(0, 2); console.log(items); // 输出: ["item3"] // 替换中间部分 items.splice(1, 1, 'newItem'); console.log(items); // 输出: ["item3", "newItem"] // 插入多项 items.splice(1, 0, 'inserted1', 'inserted2'); console.log(items); // 输出: ["item3", "inserted1", "inserted2", "newItem"] ``` 总结而言,在实际编程过程中应特别注意那些会更改数组方法,因为这可能带来意外的结果特别是当多个函数链式调用时[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值