JS找出数组中最大和第二大的数

555 阅读1分钟

思路:设置两个变量max,min;数组在arr中,假设数组的第一项arr[0]最大,赋值为max;arr[1]第二大,赋值为min;若max小于min,则交换值。遍历数组,若元素大于max,则max的值赋给min,最大值赋给max;若元素小于max,并且大于min,则元素赋值给min,遍历完毕,min为次大值,max为最大值。

var arr = [40,100,1,5,25,10]
var max = arr[0],min = arr[1],stem
if(max < min){
  stem = max
  max = min
  min = stem
}
for (var i = 2;i < arr.length; i++){
  if(arr[i]>max){
    min = max
    max = arr[i]
  } else if(arr[i] < max && arr[i] > min){
    min = arr[i]
  }
}
console.log("max=",max,"min=",min) //max= 100 min= 40