數組深克隆比較靈巧的幾種方式
-
擴充運算符
擴充運算符可以将數組轉換為一個用逗号分隔的參數序列;
由此延伸的克隆方式;
let arr = [...[1, 2, 3]];
-
concat()
數組的連接配接傳回被連接配接後數組的一個副本;
通過這種方式也可以進行克隆;
let arr = [1, 2, 3].concat();
-
slice()
slice可以從已有的數組中傳回標明的元素;
并且在不改變原數組的情況下傳回一個新的數組;
那麼在不删除任何元素的情況下傳回的不就是和原數組一樣的新數組麼;
let arr = [1, 2, 3].slice();
如果數組内的值是對象的情況下;以上所有方式全部報廢;這個時候就需要換個思路
- 轉換為json字元串
let arr = JSON.parse(JSON.stringify([a: 1]));