[toc] # JavaScript - 陣列的複製的方法 ## 1.利用傳統的 for loop 完成 ```javascript= var a = [100, 6, 29, 24, 66, 7, 28, 35, 87] var b = [] ``` * 用 for loop ```javascript= for (let i = 0; i < a.length; i++) { b.push(a[i]) } ``` * 用 for in (取的是 name) ```javascript= for (let i in a) { b.push(a[i]) } ``` * 用 forEach ```javascript= a.forEach((v) => b.push(v)) ``` * 用 for of (取的是 value) ```javascript= for (let v of a) { b.push(v) } ``` ## 2.利用映射 map() 幫忙 * 對陣列所有元素做+1 ```javascript= var a = [100, 6, 29, 24, 66, 7, 28, 35, 87] var b = a.map(x => x + 1) // a 陣利內的元素全加1 console.log(b) ``` * 如果對陣列所有元素都不做任何事情,就等同於複製陣列 ```javascript= var c = a.map(x => x) // 複製一份到 c 陣列 console.log(c) ``` ## 3.利用 ... 展開運算子 ```javascript= var a = [100, 6, 29, 24, 66, 7, 28, 35, 87] console.log(a) // [1,2,3,4] console.log(...a) // 1 2 3 4 var b = [...a] ``` ###### tags: `JavaScript`