📚JS数组赋值踩坑记录🧐
在前端开发中,JS数组操作是家常便饭,但有时候看似简单的操作却暗藏玄机!😭 今天就来聊聊我在数组赋值时遇到的小坑,希望能帮到大家。
首先,咱们得知道,直接赋值可能会导致意想不到的结果。比如:
```javascript
let arr1 = [1, 2, 3];
let arr2 = arr1;
arr2[0] = 99;
console.log(arr1); // 输出: [99, 2, 3]
```
咦?为什么arr1也变了?原因在于`arr2`只是`arr1`的引用,并非新数组!⚠️ 这就是浅拷贝的锅。
那么,如何正确赋值呢?推荐使用`slice()`或`concat()`方法创建新数组:
```javascript
let arr3 = arr1.slice();
arr3[0] = 88;
console.log(arr1); // 输出: [1, 2, 3]
```
最后提醒一下,如果是多维数组,记得递归深拷贝哦!💼 用`JSON.parse(JSON.stringify())`也能搞定~
希望这篇小总结能帮你避开这些常见雷区!🌟
免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。