陣列物件
## JavaScript 陣列(Array)簡介
陣列是一種用來儲存「多個資料」的物件,例如數字、字串或其他物件。陣列中的元素有固定順序,並使用從 `0` 開始的索引(index)存取。
```javascript
const fruits = ["蘋果", "香蕉", "橘子"];
console.log(fruits[0]); // 蘋果
console.log(fruits.length); // 3
```
## 常見的陣列操作方法
### 新增與刪除元素
| 方法 | 說明 |
|---|---|
| `push()` | 在陣列尾端加入元素 |
| `pop()` | 移除並回傳陣列最後一個元素 |
| `unshift()` | 在陣列開頭加入元素 |
| `shift()` | 移除並回傳陣列第一個元素 |
| `splice()` | 在指定位置新增、刪除或取代元素 |
### 查詢與處理元素
| 方法 | 說明 |
|---|---|
| `indexOf()` | 查詢元素第一次出現的索引 |
| `includes()` | 判斷陣列是否包含某元素 |
| `find()` | 找出符合條件的第一個元素 |
| `filter()` | 篩選出符合條件的元素,回傳新陣列 |
| `map()` | 將每個元素轉換後,回傳新陣列 |
| `forEach()` | 逐一執行指定的函式 |
| `reduce()` | 將陣列元素累積成一個結果 |
| `sort()` | 排序陣列元素 |
| `reverse()` | 反轉陣列順序 |
| `join()` | 將陣列元素組合成字串 |
其中,`push()`、`pop()`、`splice()`、`sort()` 和 `reverse()` 會直接修改原本的陣列;`map()`、`filter()` 通常會回傳新的陣列。
## 簡單範例
```javascript
const numbers = [1, 2, 3, 4, 5];
// 篩選出偶數,再將每個數字乘以 2
const result = numbers
.filter(number => number % 2 === 0)
.map(number => number * 2);
console.log(result); // [4, 8]
```
此範例先使用 `filter()` 找出偶數 `[2, 4]`,再使用 `map()` 將它們乘以 `2`,最後得到 `[4, 8]`。
相關學習地圖、教學課程
F2E 網站前端工程