[英]Javascript Max Min Avg
我正在尋找此代碼的最大,最小,平均,其預期輸出為[10,-2,3.5]
function MaxMinAvg (arr){
var max = arr[0]
var min = arr[0]
var sum = arr[0]
for (var i = 1; i < arr.length; i++){
if (arr[i] > max){
max = arr[i]
}
if (arr[i] < min){
min = arr[i];
}
sum = sum + arr[i];
var avg = arr[i] / arr.length;
var arr2 = [max, min, avg];
}
return arr2;
}
[10,-2,3.5]
您的代碼幾乎是正確的,但是您需要將avg
計算和最終數組創建移到for循環之外 。 同樣,平均值將是總和除以總單位。
const maxMinAvg = arr => { let max = arr[0]; let min = arr[0]; let sum = arr[0]; for (var i = 1; i < arr.length; i++){ if (arr[i] > max){ max = arr[i] } if (arr[i] < min){ min = arr[i]; } sum = sum + arr[i]; } return [max, min, sum / arr.length];; }; console.log(maxMinAvg([1, 5, 10, -2]));
使用數組稍微更簡潔的版本::減少:
const maxMinAvg = arr => { const [max, min, sum] = arr.reduce(([max, min, sum], current) => { if (max < current) max = current; if (min > current) min = current; sum += current; return [max, min, sum]; }, [arr[0], arr[0], arr[0]]); return [max, min, sum / arr.length];; }; console.log(maxMinAvg([1, 5, 10, -2]));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.