rrDic.sort(function cmp(a,b){return a.num-b.num;});

解决方案 »

  1.   

    <script language="javascript">
    var arr={"11": 5, "52": 1, "23": 1, "33": 1, "32": 1, "31": 6, "45": 1, "37": 2, "43": 1, "36": 1, "61": 1, "62": 1, "400": 3, "100": 4, "81": 1, "44": 1}
    var arrDic = new Array();
    var i = 0;
    for(var p in arr)
    {
    var obj = new Object();
    obj.id = parseInt(p);
        obj.num = parseInt(arr[p]);
        arrDic.push(obj);
    i++;
    }for (var i=0;i<arrDic.length;i++){
    document.write(arrDic[i].id+' '+arrDic[i].num+'<br>');
    }
    document.write("----------------------</br>");
    arrDic.sort(function cmp(a,b){return a.num-b.num;});
    for (var i=0;i<arrDic.length;i++){
    document.write(arrDic[i].id+' '+arrDic[i].num+'<br>');
    }
    </script>
      

  2.   

    谢谢 感觉和C++的有点混了。看了下sort还真是返回正负和0