# 改變陣列的方法 ## push()、unshift()、pop()、shift() ### 增加元素 #### push() 在陣列的**末端**增加指定元素 #### unshfit() 在陣列的**首端**增加指定元素 > 這兩個方法都不限制數量,用逗號隔開即可 ### 移除元素並回傳被刪除的元素 #### pop() 移除陣列**最後一個**元素,並回傳被刪除的元素 #### shift() 移除陣列**第一個**元素,並回傳被刪除的元素 Example: ``` javascript= let greetings = ['hello']; let popped = greetings.pop(); // greetings 值爲 [],popped 值爲 hello ``` > 這兩個方法不接受參數,且一次都只能移除一個元素並回傳 ## splice()、slice() ### splice() #### (1) 刪除 對陣列**連續刪除任意數量的元素**,接受最多3個參數 第一個是索引位置(要從第幾個開始刪) 第二個則是從要刪除的位置開始移除元素的數量 ``` javascript= let arr = [1, 2, 3, 4, 5]; arr.splice(0,3); console.log(arr); // arr = [4, 5]; // 從第零個開始刪3個元素,刪掉[1, 2, 3] ``` #### (2) 添加 第三個參數用來**添加**一個或多個連續元素 會根據第一個參數所指定的索引位置開始添加 ``` javascript= const num = [1, 2, 3, 4, 5, 6, 7]; num.splice(2, 1, 100, 200, 300); console.log(num); // num = [1, 2, 100, 200, 300, 4, 5, 6, 7]; ``` ### slice() #### (1) 提取 只接受2個參數 第一個是開始提取元素的索引位置 第二個是結束提取元素的索引位置 *提取的元素中不包括第二個參數所對應的元素 ``` javascript= const str = [1, 2, 3, 4, 5, 6, 7]; let str2 = str.slice(1, 4); console.log(str2); // 從2(str[1])開始提,提到5(str[4])之前 // str2 = [2, 3, 4]; ```