从0到9的10个数组成20位以内数字的解决方法.

解决方案 »

  1.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body>
    <script type="text/javascript">  
    //20位数据: 0111222333  0666777888
    //表示:
    var d1 = {h:111222333,l:666777888};
    var d2 = {h:666999,l:123};
    var d3 = {h:0,l:999888777};
    var arry = [d1,d2,d3];
    function sortd20(v1,v2)//由小到大排序
    {
    if(v1.h>v2.h)return 1;
    else if(v1.h<v2.h) return -1;
    else if(v1.l>v2.l) return 1;
    else return -1;
    }
    arry.sort(sortd20); // 排序后 arry: [d3,d2,d1]//显示
    for(var i=0;i<arry.length;i++)
    {
    if(arry[i].h>0){
    var l = (arry[i].l+"").length;
    var bl = "0000000000".substring(l);
    var ll = bl+arry[i].l;
    alert(arry[i].h + ll );
    }
    else{
    alert(arry[i].l);
    }
    }
    </script>  
    </body>
    </html>
    //这里只给出了表示和排序的方法,很容易扩展到30位,40位...
    //运算的就留给LZ自己了