---
# System prepended metadata

title: ＪＳ筆記 陣列常用方法（二）（增減陣列元素）

---

# ＪＳ筆記 陣列常用方法（二）（增減陣列元素）
**增加或減少陣列內元素的方法**

 
**push方法**
```javascript
const arr1 = [ 'a' , 'b' , 'c' , 'd' ];
arr1.push('e');
console.log(arr1);
```
印出[a, b, c, d, e]
push方法在陣列的最後面新增元素'e'，會改變陣列的長度。

push的**回傳值**是呼叫此方法之物件的新 length 屬性值

**pop方法**
```javascript
const arr1 = [ 'a' , 'b' , 'c' , 'd' ];
console.log( arr1.pop());
```
印出"d"

pop方法會取出陣列最後面的元素，會改變陣列的長度。

pop的**回傳值**是陣列中移除的元素，但如是是空陣列會回傳undefined。

**unshift方法**
```javascript
const arr1 =[ 'a' , 'b' , 'c' , 'd' ];
arr1.unshift('x')
console.log(arr1)
```
印出[x, a, b, c, d]

unshift方法跟push方法類似，只是把新增的元素加在陣列的最前面。會改變陣列的長度。

**回傳值**跟push一樣都是陣列的新length值。

**shift方法**
```javascript
const arr1 =[ 'a' , 'b' , 'c' , 'd' ];
console.log( arr1.shift());
```
印出 "a"

和pop方法一樣，但移除的是最前面的元素。


splice方法
```javascript
splice(要改變的陣列索引位置,要刪除的陣列元素數量（可設為0），要增加的元素)
```
splice可以對陣列的內容進行：新增、移除、修改
```javascript
const arr1 =[ 'a' , 'b' , 'c' , 'd' ];
arr1.splice(1,0,'x');
console.log(arr1)
```
印出  [ a , x , b , c , d ]
```javascript
const arr1 =[ 'a' , 'b' , 'c' , 'd' ];
arr1.splice(0,3,);
console.log(arr1)
```
印出[ d ]

**回傳值**
一個包含被刪除的元素陣列。如果只有一個元素被刪除，依舊是回傳包含一個元素的陣列。 倘若沒有元素被刪除，則會回傳空陣列。
