数组方法中,会改变原数组、不会改变原数组的方法有哪些?

会改变原数组:

1 添加元素类:(返回新的长度)

  • push() 把元素添加到数组尾部
  • unshift() 在数组头部添加元素

2 删除元素类:(返回的是被删除的元素)

  • pop() 移除数组最后一个元素
  • shift() 删除数组第一个元素

3 颠倒顺序:

  • reverse() 在原数组中颠倒元素的顺序

4 插入、删除、替换数组元素:(返回被删除的数组)

  • splice(index, howmany, item1…intemx)

index代表要操作数组位置的索引值,必填
howmany 代表要删除元素的个数,必须是数字,可以是0,如果没填就是删除从index到数组的结尾
item1…intemx 代表要添加到数组中的新值

5 排序

  • sort() 对数组元素进行排序

不会改变原数组:

  • concat() 连接两个或更多数组,返回结果
  • every() 检测数组中每个元素是否都符合要求
  • some() 检测数组中是否有元素符合要求
  • filter() 挑选数组中符合条件的并返回符合要求的数组
  • join() 把数组的所有元素放到一个字符串
  • toString() 把数组转成字符串
  • slice() 截取一段数组,返回新数组
  • indexOf 搜索数组中的元素,并返回他所在的位置
### 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]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值