9.深拷贝.html 857 B

1234567891011121314151617181920212223242526272829303132
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. var arr = ['list',[111,222],{aa:1}];
  11. function deepClone(data) {
  12. var news = [];
  13. // 判断是否是数组 Array.isArray
  14. news = Array.isArray(data) ? [] : {};
  15. for(var key in data) {
  16. if(typeof data[key] == 'object') {
  17. news[key] = deepClone(data[key]);
  18. } else {
  19. news[key] = data[key];
  20. }
  21. }
  22. return news;
  23. }
  24. var arr1 = deepClone(arr);
  25. arr1[1][1] = 333;
  26. arr1[2].aa = 2;
  27. console.log(arr,'arr');
  28. console.log(arr1,'arr1');
  29. </script>
  30. </body>
  31. </html>