from MSDN documentation:function array_max( ){
   var i, max = this[0];
   for (i = 1; i < this.length; i++)
   {
   if (max < this[i])
   max = this[i];
   }
   return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max( );

解决方案 »

  1.   

    嗬嗬,这是最简单的循环排序法,一个一个往后检查,发现一个比当前最大值大的,就将值赋给变量max,依次往后,直到最后一个,就可以得到你要的效果
    这种排序有很多的算法,你可以找来研究,自己根据算法来编写相应的程序来实践:)
      

  2.   

    <script>
    function array_max( ){
       return this.concat().sort(function(a,b){return b-a})[0];
    }
    Array.prototype.max = array_max;
    var x =[12,3,-4,0];
    var y = x.max( );
    alert(y);
    alert(x);
    </script>
      

  3.   

    如果要它在数组中的位置
    <script>
    function array_max( ){
       var i, max = this[0],j=0;
       for (i = 1; i < this.length; i++)
       {
       if (max < this[i]){max = this[i];j=i;}
       }
       return j;
    }
    Array.prototype.max = array_max;
    var x =[12,3,-4,0];
    var y = x.max( );
    alert(y);
    alert(x);
    </script>