JavaScript 基礎
JavaScript 中陣列 (Array) 的遍歷方法 (for loop, for...in, for...of, forEach, map, filter, every, some)
JavaScript 陣列遍歷方法
1. for loop
最基本的遍歷,可使用 break / continue:
const arr = [1, 2, 3];
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
2. for...in
遍歷可列舉屬性(key),不推薦用於陣列(會包含原型屬性):
for (const index in arr) {
console.log(index); // '0', '1', '2'(字串)
}
3. for...of
遍歷可迭代物件的值,適合陣列(支援 break):
for (const value of arr) {
console.log(value); // 1, 2, 3
}
4. forEach
對每個元素執行函式,無回傳值,無法 break:
arr.forEach((value, index) => {
console.log(index, value);
});
5. map
回傳新陣列,每個元素為轉換後的值:
const doubled = arr.map(x => x * 2); // [2, 4, 6]
6. filter
回傳過濾後的新陣列:
const evens = arr.filter(x => x % 2 === 0); // [2]
7. every
檢查所有元素是否符合條件,回傳 boolean:
arr.every(x => x > 0); // true
arr.every(x => x > 1); // false
8. some
檢查至少一個元素是否符合條件:
arr.some(x => x > 2); // true
arr.some(x => x > 5); // false
比較表
| 方法 | 回傳值 | 可 break | 用途 |
|---|---|---|---|
for |
— | ✅ | 通用遍歷 |
for...of |
— | ✅ | 值遍歷 |
forEach |
undefined | ❌ | 副作用操作 |
map |
新陣列 | ❌ | 轉換元素 |
filter |
新陣列 | ❌ | 過濾元素 |
every |
boolean | ❌ | 全部符合? |
some |
boolean | ❌ | 部分符合? |
✦ AI 模擬面試
輸入你的答案,AI 即時分析精準度與改進空間
登入後即可使用 AI 評分
