var   a = new Array("X" ,"y" ,"d", "Z", "v","m","r");
   l = a.sort(1);
sort可以有3中不同的排序1,0,-1分别对应之,如果参数被省略,那么元素将按照 ASCII 字符顺序进行升序排列。 。

解决方案 »

  1.   

    to myvicy(热心肠的人) 
    谢谢,我的数组是有键,这样好象不行
      

  2.   

    你这使用的不是数组,只是普通对象而已。for( var p in arr )
    {
      //p的值即为你说的键。arr[p]即为值。
    }
      

  3.   

    排序可以用一个二维数组
    <script   language="javascript"> 
    var arr=new Array()  
    arr["a"] = 39;
    arr["dd"] = 23;
    arr["asd"] = 54;
    var tempArray=new Array()
    j=0;
    for(var i in arr)
    {
    tempArray[j]=new Array(arr[i],i)
    j++;
    }
    tempArray.sort();
    var arrSort=new Array();
    for(var i=0;i<tempArray.length;i++)
    {
    eval("arrSort['"+tempArray[i][1]+"']="+tempArray[i][0])
    }
    for(var i in arrSort)
    {
    alert(arrSort[i])
    }
      </script>