[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`