js Array.sort 遇到的问题

js Array.sort 遇到的问题
首先,对一个 array 进行排序,但得到的结果与想象的不一样,是 2010-1-13, 2010-1-22, 2010-1-15
        var sortArray=[
         {title:"aaa", date:"2010-1-22"},
         {title:"trtttt", date:"2010-1-15"},
         {title:"erere", date:"2010-1-13"}
        ];
        sortArray.sort(function(x,y){
         var x1=new Date(x.date.replace("-","/"));
         var y1=new Date(y.date.replace("-","/"));
         //alert("x1=" + (x1.getMonth()+1)+"/"+x1.getDate() + ", y1 = " + (y1.getMonth()+1)+"/"+y1.getDate() + ", x1 > y1 = " + (x1 - y1));
          return x1>y1;
        });
        for(var i=0;i<sortArray.length;i++) {
         var x1=new Date(sortArray[i].date.replace("-","/"));
         alert(x1.getYear() + "-" + (x1.getMonth() + 1) + "-" + x1.getDate() + " , " + sortArray[i].date + " | " + sortArray[i].title);  
        }
要把标红的部分改成
        return x1-y1;
看来,js 排序的时候为了内部优化,排序和 sort 的 function 结果有关。

你可能感兴趣的:(js Array.sort 遇到的问题)