javascript如何複製一個陣列

antzone發表於2017-03-21

本章節介紹一下如何複製一個陣列,可能很多朋友實現這個功能很簡單,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
var theArray=[1,2,5,2,8];
var newArray=theArray;

以上程式碼貌似實現了複製,但是其實並非如此,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
var theArray=[1,2,5,2,8];
var newArray=theArray;
newArray.splice(2,1);
console.log(theArray);

以上程式碼中,雖然操作的newArray,但是theArray陣列中的元素也發生了改變,這是因為,第一行的賦值語句是將陣列物件的引用複製給變數newArray,所以theArray和newArray都是指向同一個陣列。

程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
var theArray=[1,2,5,2,8];
Array.prototype.clone=function(){
  return this.slice(0);
}
var newArray=theArray.clone();
newArray.splice(2,1); 
console.log(theArray);

相關文章