This commit is contained in:
qianguyihao
2020-07-31 21:11:52 +08:00
parent 62c56cc64d
commit 0c410c9736
6 changed files with 87 additions and 43 deletions

View File

@@ -1078,7 +1078,7 @@ console.log(JSON.stringify(numArr)); // 打印结果:[1, 2, 3]
上面这段代码你可要看仔细了打印结果是 `[1, 2, 3]`不是 `[2, 4, 6]`
**2数组的元素是引用数据类型**直接修改整个对象时无法改变原数组
**2数组的元素是引用数据类型**直接修改整个元素对象时无法改变原数组
```js
let objArr = [
@@ -1095,7 +1095,7 @@ objArr.forEach((item) => {
console.log(JSON.stringify(objArr)); // 打印结果:[{"name":"千古壹号","age":20},{"name":"许嵩","age":30}]
```
**3数组的元素是引用数据类型**修改对象里的某个属性时可以改变原数组
**3数组的元素是引用数据类型**修改元素对象里的某个属性时可以改变原数组
```js
let objArr = [
@@ -1148,6 +1148,10 @@ objArr2.forEach((item, index, arr) => {
console.log(JSON.stringify(objArr2)); // 打印结果:[{"name":"小明","age":28},{"name":"小明","age":34}]
```
**总结**
如果纯粹只是遍历数组那么可以用 forEach() 方法但是如果你想在遍历数组的同时去改变数组里的元素内容那么最好是用 map() 方法来做不要用 forEach()方法避免出现一些低级错误
参考链接
- [forEach 到底可以改变原数组吗](https://juejin.im/post/5d526a4ae51d4557dc774e7d)