forEach无法改变基础数据类型的问题
最近在项目中使用到forEach去循环字符串数组,发现无法改变字符串的数据。
var arr = ['11','22']
arr.forEach((el) => {
el = '333'
})
console.log(arr) ['11','22']
发现上面的代码没有效果。就去各种查阅。其实在项目中用到forEach的时候也不少,但从没去深入了解过它的实现原理。
经过多方查阅,发现其实还是栈与堆内存的问题,字符串是基础数据,存放在栈中,循环出来的el相当于在栈中新建了一个变量,与原来的数据已
原创
2020-05-22 18:58:11 ·
682 阅读 ·
1 评论