今天就跟大家聊聊有關JavaScript中的concat方法如何復制數組,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
我們在需要進行數組復制的時候可能會想到以下的方法
代碼
var arr1 = [1,2,3,4,5]; var arr2 = []; arr2 = arr1; console.log(arr1); console.log(arr2);
執行結果如下:
[1, 2, 3, 4, 5] [1, 2, 3, 4, 5]
在這個例子中,將數組arr1賦值給了另一個數組arr2。
查看執行結果,似乎復制了數組的內容并創建了相同的數組。
但是,由于數組是“引用類型”的數據,因此它不會復制該值,而只是共享存儲該值的內存的位置。
因此,我們編寫以下代碼
arr2.push(6); console.log(arr1); console.log(arr2);
執行結果如下
[1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5, 6]
根據以上結果可以發現即使我們只給arr2添加新值6,但是數組arr1中也會添加一個6,這就是因為兩個
數組都只引用存儲值的位置,如果更改任一數組中的數據,兩者都會改變。
所以下面我們就來使用concat方法復制數組
我們來看具體示例
var arr1 = [1,2,3,4,5]; var arr2 = []; arr2 = arr1.concat(); arr2.push(6); console.log(arr1); console.log(arr2);
執行結果如下
[1, 2, 3, 4, 5] [1, 2, 3, 4, 5, 6]
要將另一個數組復制到數組arr2,只需要在復制源arr1中執行concat()即可。
看完上述內容,你們對JavaScript中的concat方法如何復制數組有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。