有一串数字:
var bb = "110,120,130,140,150"
如果返回最大的数字呢?
我用Math.max(bb)得到的还是这段字符串。想问下解决办法。

解决方案 »

  1.   

    我用这样也不行,出不了结果
    Array.prototype.max = function(){
    return Math.max.apply({},this)
    }
    var bb = "110,120,130,140,150";
    var cc = new Array(bb);
    alert(cc.max());
      

  2.   


    <script language="javascript" type="text/javascript"> var bb = "110,120,130,140,150";
    var arr=bb.split(",");
    var tmp=0;
    for (var i=0;i<arr.length ;i++ )
    {

    if(arr[i]>tmp)
    {
      tmp=arr[i];
    }
    }
    alert(tmp);
    </script>
      

  3.   

    <script>
    var bb = "110,120,130,140,150";
    var aa = bb.split(',');
    var ll = aa.length;
    var mm = 0;
    for(var i = 0; i < ll; i++){
    if(mm < aa[i])mm = aa[i];
    }
    alert(mm);
    </script>
      

  4.   

    Array.prototype.max = function(){
    return Math.max.apply({},this)
    }
    var bb = "110,120,130,140,150";
    var cc = new Array(bb);
    alert(cc.max());构造数组的方法错了,
    var cc = new Array(110,120,130,140,150);或者
    var cc = bb.split(",");
      

  5.   

    <script language="javascript">var bb = "110,30,160,140,150";document.write (bb.split(",").sort(sortNumber)[0]);
    function sortNumber(a,b)
    {
    return b - a
    }</script>
      

  6.   

    Math.max 只是支持两个数字之间的比较吧
      

  7.   


    function getMax(number) {
        var re=/[0-9]+/g;
        var arr=number.match(re);
        var max=0;
        for(var i=0;i<arr.length;i++)        
            max= arr[i]>max?arr[i]:max;   
        return max;
    }
      

  8.   

    var bb = "110,120,1112,130,231,140,150"
    var max = eval("(Math.max(" + bb + "))");
    alert(max);