# JS筆記 陣列常用方法(二)(增減陣列元素)
**增加或減少陣列內元素的方法**
**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 ]
**回傳值**
一個包含被刪除的元素陣列。如果只有一個元素被刪除,依舊是回傳包含一個元素的陣列。 倘若沒有元素被刪除,則會回傳空陣列。