數組對象在JavaScript中默認是引用類型。顧名思義、它是引用實際值,而自身不是實際值。由于這個原因,使用賦值操作(=)拷貝數組只是拷貝原始值的引用而不是實際的值。
在本文中,我們將介紹用JavaScript實際復制數組的5種方法。
1、擴展運算符
let clubs = ['Chelsea', 'Liverpool', 'Mancity', 'Real Madrid']
console.log(clubs)
//Create a clone Es6 way
let clonedClubs = [...clubs]
console.log(clonedClubs)
2、for() 循環
let clubs = ['Chelsea', 'Liverpool', 'Mancity', 'Real Madrid']
clonedClubs = [];
for (i = 0; i < clubs.length; i++) {
clonedClubs[i] = clubs[i];
}
console.log(clonedClubs)
3、Array map()
let clubs = ['Chelsea', 'Liverpool', 'Mancity', 'Real Madrid']
cloning = (i) => i;
clonedClubs = clubs.map(cloning)
console.log(clonedClubs)
4、Array filter()
let clubs = ['Chelsea', 'Liverpool', 'Mancity', 'Real Madrid']
clonedClubs = clubs.slice();
console.log(clonedClubs)
4、Array slice()
let clubs = ['Chelsea', 'Liverpool', 'Mancity', 'Real Madrid']
clonedClubs = clubs.slice();
console.log(clonedClubs)