9.深克隆.html 918 B

12345678910111213141516171819202122232425262728293031323334
  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 = ['aaa',[12,13,14]]
  11. // let result = Array.isArray(obj) ? [] : {};
  12. function deepClone(data) {
  13. var result = {};
  14. if(typeof data == 'object') {
  15. result = Array.isArray(data) ? [] : {};
  16. for(let key in data) {
  17. if(typeof(data[key]) == 'object') {
  18. result[key] = deepClone(data[key])
  19. } else {
  20. result[key] = data[key];
  21. }
  22. }
  23. }
  24. return result;
  25. }
  26. var news = deepClone(arr);
  27. news[1][1] = 22;
  28. console.log(news);
  29. console.log(arr)
  30. </script>
  31. </body>
  32. </html>