JavaScript 中數組的複製

JavaScript中數組跟Java中一樣,也是引用類型,所以不能直接等於賦值,他們都指向同一個對象。

1. 示例

var a = [1, 2, 3, 'a', 'b']; 
var b = a;
b[0] = 'c';
console.log(a);  
//輸出 
//['c', 2, 3, 'a', 'b']

我們把a數組賦值給b,然後修改b中0號元素的值,發現a中的0號元素的值也改變了。

2. 使用JavaScript中的 slice() 方法

slice()方法用於分割數組,支持傳入參數,跟字符串的substring()用法差不多。

var a = [1, 2, 3, 'a', 'b'];
console.log(a.slice(0, 2)); //輸出索引爲0~2的元素(不包括2)輸出: [1, 2]  
console.log(a.slice(2)); //輸出索引爲2之後的元素(包括2)輸出:[3, 'a', 'b']
console.log(a.slice()); //輸出所有元素,輸出:[1, 2, 3, 'a', 'b']

那麼,方法出來了,使用a.slice() 方法即可。

var a = [1, 2, 3, 'a', 'b']; 
var b = a.slice();
b[0] = 'c';
console.log(a);  
//輸出 
//[1, 2, 3, 'a', 'b']
console.log(b);  
//輸出 
//['c', 2, 3, 'a', 'b']
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章