[英]Trying to return min, max, and average values of an array
我在嘗試產生數組的最小值,最大值和平均值時遇到了困難。 我似乎能夠毫無問題地返回最小值,但是我試圖分別生成三個值或在數組內部生成三個值的嘗試在控制台中遇到了“未定義”的問題。
這是我正在運行的代碼(在控制台中):
function findMinMaxAvg(arr){
var min = arr[0]; // min
var max = arr[0]; // max
var sum = arr[0]; // sum
for(var i = 1; i < arr.length; i++){
if (arr[i] < min) {
min = arr[i];
}
if (arr[i] > max) {
max = arr[i];
}
sum = sum + arr[i];
}
return min;
return max;
return sum / arr.length;
var avg = sum / arr.length; // declaring avg variable for later arrnew variable
var arrnew = [min, max, avg]; // output results into this new array
return arrnew; // return all three values inside of an array
console.log(arrnew);
}
findMinMaxAvg([1,5,10,-2]);
一個函數中不能連續有多個return語句。 它將始終在第一個return min
語句上退出該函數。
function findMinMaxAvg(arr){
var min = arr[0]; // min
var max = arr[0]; // max
var sum = arr[0]; // sum
for(var i = 1; i < arr.length; i++){
if (arr[i] < min) {
min = arr[i];
}
if (arr[i] > max) {
max = arr[i];
}
sum = sum + arr[i];
}
return [min, max, sum / arr.length]
}
這似乎是您要嘗試的。
var arr = [2, 3, 5, 6, 7,1, 4, 6, 5] 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]; } console.log('max=' +max + 'min=' +min + 'avd=' + sum/arr.length);
您在那里90%! 從函數返回后,其余代碼將不再運行。 因此,應刪除以下語句,您將獲得期望返回的數組!
return min;
return max;
return sum / arr.length;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.