JavaScript 基礎
如何用 JavaScript 算出陣列的平均數?
方法一:reduce(最常見)
function average(arr) {
if (arr.length === 0) return 0;
const sum = arr.reduce((acc, val) => acc + val, 0);
return sum / arr.length;
}
average([1, 2, 3, 4, 5]); // 3
方法二:for 迴圈
function average(arr) {
if (arr.length === 0) return 0;
let sum = 0;
for (const num of arr) {
sum += num;
}
return sum / arr.length;
}
方法三:搭配 Math 與 Spread
// 不推薦用在大陣列(call stack 限制)
function average(arr) {
const sum = arr.reduce((a, b) => a + b, 0);
return sum / arr.length;
}
一行版本
const avg = arr => arr.reduce((a, b) => a + b, 0) / arr.length;
avg([10, 20, 30]); // 20
注意事項
- 空陣列要特別處理,避免除以 0 得到
NaN - 若陣列中有非數字元素,
reduce可能得到NaN,需事先過濾
function safeAverage(arr) {
const nums = arr.filter(n => typeof n === 'number' && !isNaN(n));
if (nums.length === 0) return 0;
return nums.reduce((a, b) => a + b, 0) / nums.length;
}
✦ AI 模擬面試
輸入你的答案,AI 即時分析精準度與改進空間
登入後即可使用 AI 評分
