js如何實現拷貝一個陣列
如何拷貝一個陣列元素,對於初學者來說可能存在著較大的誤解,這主要是對值型別和引用型別不夠了解的緣故。
程式碼如下:
[JavaScript] 純文字檢視 複製程式碼var a=[1,2,3]; var b=a;
很多初學者可能認為上面的程式碼會拷貝一個陣列,其實並非如此,程式碼如下:
[JavaScript] 純文字檢視 複製程式碼var a=[1,2,3]; var b=a; a.length=2; console.log(b);
從上面的程式碼的輸出結果可以看出,修改陣列a的長度,陣列b也會跟著變化,這是因為a和b根本就是同一個陣列,因為變數a和變數b中儲存的只是陣列物件的引用,也就是記憶體地址,所以b=a,只是將陣列物件的引用傳遞給b。
下面提供兩種拷貝陣列的方式:
方式一:
[JavaScript] 純文字檢視 複製程式碼var a=[1,2,3]; console.log(a.slice(0));
方式二:
[JavaScript] 純文字檢視 複製程式碼var a=[1,2,3]; console.log(a.concat());
相關文章
- 14 個拷貝陣列的 JS 技巧陣列JS
- js 陣列的淺拷貝和深拷貝JS陣列
- js 陣列深度拷貝詳解JS陣列
- js實現深拷貝和淺拷貝JS
- [JS系列二]談談深拷貝和淺拷貝,如何實現深拷貝JS
- js實現深拷貝JS
- js陣列物件複製拷貝不改變原來的值,深拷貝JS陣列物件
- 如何深淺拷貝陣列(總結)陣列
- 【JS】深拷貝與淺拷貝,實現深拷貝的幾種方法JS
- JavaScript中十個一步拷貝陣列的方法JavaScript陣列
- 深拷貝和淺拷貝的區別是什麼?實現一個深拷貝
- js物件實現深淺拷貝!!JS物件
- 實現物件淺拷貝、深拷貝物件
- 面試題 | 請實現一個深拷貝面試題
- JS中的深淺拷貝以及實現深拷貝的幾種方法.JS
- 淺拷貝與深拷貝的實現
- js 淺拷貝和深拷貝JS
- JS深拷貝與淺拷貝JS
- js 深拷貝和淺拷貝JS
- 在js中如何區分深拷貝與淺拷貝?JS
- 實現深拷貝還在用JSON.parse(JSON.stringify(obj))?帶你用JS實現一個完整版深拷貝函式JSONOBJ函式
- JavaScript中十種一步拷貝陣列的方法JavaScript陣列
- js的深拷貝和淺拷貝JS
- js之淺拷貝和深拷貝JS
- 深入理解 JavaScript 物件和陣列拷貝JavaScript物件陣列
- 淺探js深拷貝和淺拷貝JS
- 理解JS中的淺拷貝與深拷貝JS
- js 深拷貝方法JS
- js深拷貝方法JS
- 【進階4-3期】面試題之如何實現一個深拷貝面試題
- JS實現陣列去重JS陣列
- 怎麼實現深拷貝
- 一篇文章徹底說清JS的深拷貝/淺拷貝JS
- 一文搞懂Java引用拷貝、淺拷貝、深拷貝Java
- js資料型別賦值,淺拷貝,深拷貝JS資料型別賦值
- JS中的深拷貝JS
- JS深拷貝總結JS
- JS陣列去重的實現JS陣列
- Java NIO原理及簡單拷貝實列Java