簡體   English   中英

嘗試返回數組的最小值,最大值和平均值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM