标题:求助! javascript 获取数组最大值
只看楼主
qq1362409066
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-8-23
结帖率:0
已结贴  问题点数:20 回复次数:6 
求助! javascript 获取数组最大值
程序代码:
<html>

 <head>
  <title></title>

 </head>

 <body>
  <script type="text/javascript">
   /*
     1.获取数组的最值
   */
   var arr = [66,13,37,21,89,17]
   //function getMax(arr) 也可以这样写
   var getMax = function(arr){//传入arr数组参数
   
    
    var max  = 0;//初始化角标
    for(var x = 1;x<arr.length;x++){
        if(arr[x]>arr[max])// 1的角标>0的角标吗?
        max = x;//如果大于那么就把1的角标对应的参数赋值给max角标对应的参数。
    }
    return arr[max];
   }
   var maxValue  =getMax(arr);
    alert("maxValue="+maxValue);
  </script>

 </body>
</html>
搜索更多相关主题的帖子: javascript 最大值 title 
2014-08-23 10:07
qq1362409066
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-8-23
得分:0 
retuen 把值返回给了谁??
2014-08-23 10:08
诸葛修勤
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:549
专家分:1955
注 册:2010-10-28
得分:20 
在什么地方调用的?
2014-08-23 10:20
qq1362409066
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-8-23
得分:0 
回复 3 楼 诸葛修勤
return arr[max]; //这段代码是什么意思  我是初学者自学的
2014-08-23 10:23
chaiyesong
Rank: 2
等 级:论坛游民
威 望:3
帖 子:70
专家分:44
注 册:2014-5-14
得分:0 
回复 楼主 qq1362409066
你在定义一个零时变量啊 每次跟这个变量比较然后在赋值,在进行比较,直到比较完成啊
2014-09-21 11:18
渴望做梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:45
专家分:1
注 册:2014-12-24
得分:0 
回复 2楼 qq1362409066
不是给了这个参数maxValue了吗
2015-02-11 16:13
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8074
专家分:6657
注 册:2005-11-7
得分:0 
以下是引用qq1362409066在2014-8-23 10:07:51的发言:
   
   /*
     1.获取数组的最值
   */
   var arr = [66,13,37,21,89,17]
   //function getMax(arr) 也可以这样写
   var getMax = function(arr){//传入arr数组参数
   
     
    var max  = 0;//初始化角标
    for(var x = 1;x
建议在此中情况还是用函数定义的方式function getMax(arr),如果用函数变量定义的方式,就不能在函数定义之前调用函数了,即把var maxValue=getMax(arr);写在var getMax = function(arr)之前,会报找不到getMax的错误,如果使用function getMax(arr)方式定义函数就不会有这样的问题。

在var maxValue=getMax(arr);中调用了getMax函数,传入arr数组,在for循环中得到最大值的位置(两两对比,把大的值的数组的位置记录下来,最终得到最大值),return出数组中最大的值,maxValue变量就得到了这个值。

这只是一个新手常用的获取最大值的方法,但很麻烦,其实Math对象中的max方法可以直接得到数组的最大值
var arr = [66, 13, 37, 21, 89, 17], a = Math.max.apply(this, arr);
alert(a);
a就是最大值,最小值使用Math.max.apply(this, arr)即可.
但是使用apply这个方法可能新手很难理解(包括this指针的问题)

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2015-03-12 11:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-435261-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019752 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved