改变原数组的方法和不改变原数组的方法

1.改变原数组的方法

var arr = []
arr.splice()
arr.reverse()
arr.fill()
arr.copyWithin()
arr.sort()
arr.push()
arr.pop()
arr.unshift()
arr.shift()

2.不改变原数组的方法

var arr = []
arr.slice()
arr.map()
arr.forEach()
arr.every()
arr.some()
arr.filter()
arr.reduce()
arr.entries()
arr.find()
arr.concat('1',['2','3']) //[1,2,3]
### JavaScript 数组方法数组的影响 #### 修改数组方法 一些 JavaScript 数组方法会对调用它们的数组造成永久性的更改。这类操作通常涉及向数组添加、移除或替换元素。 - **push pop**: 这两个方法分别用于在数组末尾添加新元素或将最后一个元素从数组中删除[^1]。 - **shift unshift**: `shift` 方法会移除并返回数组的第一个元素;而 `unshift` 则是在数组开头插入一个或多个元素[^2]。 - **splice**: 此方法可以用来添加或移除数组中的项目,它能够精确控制要修改的位置以及数量。 - **reverse**: 将整个数组的内容反转顺序。 - **sort**: 对数组元素按照指定条件进行排序。 - **fill**: 使用静态值填充给定位置范围内的所有元素[^4]。 上述提到的操作都会直接影响到来的数组实例,因此开发者应当谨慎使用,在必要时先复制一份副本再做改动。 #### 修改数组方法 另一些方法则创建新的数组改变有数据结构: - **slice**: 提取部分现有数组并返回一个新的子数组影响源数组。 - **concat**: 合并两个或更多数组,并生成一个全新的组合后的数组对象。 - **map, filter, reduce 等迭代器函数**: 这些高阶函数遍历当前数组并对每一项应用某种逻辑处理后构建出另一个独立的结果集[^3]。 综上所述,理解每种方法的行为特性有助于写出更加清晰且易引发错误的代码。当确定某个具体实现是否会破坏初始状态时,查阅官方文档或者实验验证总是明智的选择。 ```javascript // 示例:展示如何区分这两种类型的数组方法 const originalArray = [1, 2, 3]; // 修改型方法示例 originalArray.push(4); // 结果: [1, 2, 3, 4] // 非修改型方法示例 const newArray = originalArray.slice(); // 新建了一个浅拷贝的新数组 console.log(newArray === originalArray); // false 表明这是两个同的实体 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值