求陣列中的第三大數
阿新 • • 發佈:2019-02-13
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> //用sort方法求陣列的第三大值 var arr=[3,2,5,8,4,7,6,9]; function sortNumber(a,b) { return b-a; } console.log('第三大得數:'+arr.sort(sortNumber)[2]); //求陣列中的最大值和次大值 var arr=[3,2,5,8,4,7,6,9]; var maxF,maxS; maxF=arr[0]; maxS=arr[1]; for (var i=0;i<arr.length;i++){ if(arr[i]>maxF){ maxS=maxF; maxF=arr[i]; } } console.log('求陣列中的最大值和次大值:'+'maxF='+maxF+','+'maxS='+maxS); //求陣列中的最大值、次大值以及第三大值 var arr=[3,2,5,8,4,7,6,9]; var maxF=arr[0]; var maxS=arr[1]; var maxT=arr[2]; var maxSTemp=0,maxFTemp=0;//建立一箇中間變數 用於存放未被修改的第二大 for(var i=0;i<arr.length;i++){ if(arr[i]>maxF){ maxFTemp=maxF;//將第一大儲存下來 maxSTemp=maxS;//將第二大儲存下來 maxS=maxFTemp;//將最大賦給次大 maxT=maxSTemp;//將第二大賦給第三大 maxF=arr[i];//修改當前最大值 } if(maxT<arr[i]&&arr[i]<maxS){ maxT=arr[i];//修改第三大 } if(maxS<arr[i]&&arr[i]<maxF){ maxT=maxS;//將第二大賦給第三大 maxS=arr[i];//修改第二大 } } } console.log('maxF='+maxF+','+'maxS='+maxS+','+'maxT='+maxT); </script> </body> </html>