请教如
j=new Array();
j[0]=new Object;
j[0].stamp=1000;
j[0].txt='one';j[1]=new Object;
j[1].stamp=500;
j[1].txt='xxx';j[2]=new Object;
j[2].stamp=3000;
j[2].txt='bbb';如何按对象 stamp 的值进行排序?以下是我试验的代码j.sort(function(a,b){
console.log(a,b); //为什么没有显示任何值?
return parseInt(a.stamp) - parseInt(b.stamp);
});

解决方案 »

  1.   

    j=new Array();
    j[0]=new Object;
    j[0].stamp=1000;
    j[0].txt='one';j[1]=new Object;
    j[1].stamp=500;
    j[1].txt='xxx';j[2]=new Object;
    j[2].stamp=3000;
    j[2].txt='bbb';j.sort(function(a,b) {
    return b.stamp - a.stamp;
    });
      

  2.   

    上面是倒序顺序的话j=new Array();
    j[0]=new Object;
    j[0].stamp=1000;
    j[0].txt='one';j[1]=new Object;
    j[1].stamp=500;
    j[1].txt='xxx';j[2]=new Object;
    j[2].stamp=3000;
    j[2].txt='bbb';j.sort(function(a,b) {
       return a.stamp - b.stamp;
    });
      

  3.   

    谢谢,看来我的思路是对的只是我的实际数据有点不一样,造成了我的困惑我实际的数据大致是这样的,问题也解决了。j=new Array();
    j[0]=new Array();
    j[0]['_0']=new Object;
    j[0]['_0'].stamp=1000;
    j[0]['_0'].txt='one';j[0]['_1']=new Object;
    j[0]['_1'].stamp=500;
    j[0]['_1'].txt='xxx';j[0]['_2']=new Object;
    j[0]['_2'].stamp=3000;
    j[0]['_2'].txt='bbb';