1 简单数据类型

  1. var arr = [1,2,3,4,5]; //原数组
  2. var newArr1 = arr; //浅拷贝
  3. var newArr2 = arr.slice(); //深拷贝
  4. var newArr3 = arr.concat(); //深拷贝
  5. var newArr4 = [...arr]; //深拷贝
  6. var newArr5 = JSON.parse(JSON.stringify(arr)); //深拷贝
  7. arr[0] = 'leon';
  8. arr[1]= '27';
  9. console.log(arr);
  10. console.log(newArr1);
  11. console.log(newArr2);
  12. console.log(newArr3);
  13. console.log(newArr4);
  14. console.log(newArr5);

image.png

2 复杂数据类型

  1. var arr = [{name: 'wens'},{age: '26'}]; //原数组
  2. var newArr1 = arr; //浅拷贝
  3. var newArr2 = arr.slice(); //浅拷贝
  4. var newArr3 = arr.concat(); //浅拷贝
  5. var newArr4 = [...arr]; //浅拷贝
  6. var newArr5 = JSON.parse(JSON.stringify(arr)); //深拷贝
  7. arr[0].name = 'leon';
  8. arr[1].age = '27';
  9. console.log(arr);
  10. console.log(newArr1);
  11. console.log(newArr2);
  12. console.log(newArr3);
  13. console.log(newArr4);
  14. console.log(newArr5);

image.png