# 【Day15】陣列array-常見方法array methods ###### tags: `JavaScript` `14th鐵人賽` 接續上篇陣列內容,陣列是 JavaScript 裡重要的技巧,其中有許多陣列方法(array methods)可做轉換或運算,本篇將介紹一些常見的陣列的方法(methods): **本篇陣列方法舉例皆會改變原始陣列** - `length` - 新增資料 `push( )`、`unshift( )` - 刪除資料 `pop( )`、`shift( )` - 指定位置新增or移除資料`splice( )` --- ## length 元素數量 在字串時可以使用`length`計算長度,在陣列中則可使用`length`計算組數的長度 ```jsx let dogs = ["大耳狗","布丁狗","臘腸狗","拉不拉多","吉娃娃"]; console.log(dogs.length); // 5 ``` ```jsx let dogsAge = [ ["大耳狗", 8], ["布丁狗", 5], ["臘腸狗", 9], ["拉不拉多", 10], ["吉娃娃", 12], ]; console.log(dogsAge.length); // 5 ``` 在上一篇陣列文章內說到若要取代可直接使用`[]`索引並取代,但若要修改是以增減的方式,則需使用`push( )`、`pop( )`、`splice( )` ## 新增資料 ### push( ) 添加元素到陣列的最後 ```jsx let dogs = ["大耳狗","布丁狗","臘腸狗","拉不拉多","吉娃娃"]; dog.push("阿狗"); // ['大耳狗','布丁狗','臘腸狗','拉不拉多','吉娃娃', '阿狗'] ``` ### unshift( ) 新增元素在陣列最前面 ```jsx let dogs = ["大耳狗","布丁狗","臘腸狗","拉不拉多","吉娃娃"]; dog.unshift("阿狗"); // ['阿狗','大耳狗','布丁狗','臘腸狗','拉不拉多','吉娃娃'] ``` ## 刪除資料 ### pop( ) 刪除陣列最後的元素 ```jsx let dogs = ["大耳狗","布丁狗","臘腸狗","拉不拉多","吉娃娃"]; dogs.push("貴賓犬"); dogs.pop(); dogs.pop(); dogs.push("傑克羅素㹴犬"); dogs.pop(); dogs.push("約克夏"); console.log(dogs); // ['大耳狗', '布丁狗', '臘腸狗', '拉不拉多', '約克夏'] ``` ### shift( ) 刪除陣列最前面的元素 ```jsx let dogs = ["大耳狗","布丁狗","臘腸狗","拉不拉多","吉娃娃"]; dogs.shift() // ['大耳狗','布丁狗','臘腸狗','拉不拉多','吉娃娃'] ``` ## 指定新增or刪除 ### splice( ) 於陣列中任何位置增加或刪除 `arrayName.splice(x索引位置, y欲刪除的數量, z1,z2,z3索引位置欲添加的項目)` - x索引位置:強制參數。用於指定增加或刪除的索引位置。若要從末端開始則使用負數 - y欲刪除的數量:可選參數。刪除的元素數量若設置0則不會刪除任何元素 - z1,z2,z3索引位置欲添加的項目 ```jsx let dogs = ["大耳狗","布丁狗","臘腸狗","拉不拉多","吉娃娃"]; dogs.splice(-3, 1, "熱狗", "薩摩耶"); // 於倒數第三個位置為索引 刪除一個後增加"熱狗"、"薩摩耶" //['大耳狗', '布丁狗', '熱狗', '薩摩耶', '拉不拉多', '吉娃娃'] ``` 關於陣列的方法還有很多,本篇僅舉出常使用的介紹,有興趣的可以參考: [MDN陣列方法傳送門](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) 大家可以試著用以上方法修改陣列內容,若有問題或補充都歡迎留言唷!