js数组里是对象,那么怎么把里面的对象排序一下呢?

var aa=[
{"time":Date.parse("2017/02/22 16:30"),"val":22},
{"time":Date.parse("2017/02/21 16:30"),"val":11},
{"time":Date.parse("2017/02/23 16:30"),"val":33},
{"time":Date.parse("2017/02/24 16:30"),"val":44}
]

如上代码,在javascript里,我想把日期按21,22,23,24日排序,该用什么算法呢?谢谢

阅读 6.1k
4 个回答

直接用sort排序就可以吧

var aa=[
  {"time":Date.parse("2017/02/22 16:30"),"val":22},
  {"time":Date.parse("2017/02/21 16:30"),"val":11},
  {"time":Date.parse("2017/02/23 16:30"),"val":33},
  {"time":Date.parse("2017/02/24 16:30"),"val":44}
]
console.log('排序前:');
console.log(aa);

aa.sort(function(i1,i2){
  return i1.time-i2.time;
});

console.log('排序后:');
console.log(aa);

clipboard.png

sort()就可以啊

[].sort(function (val1,val2){
 if(val1>val2) return 1;
if(val1<val2) return -1;
if(val1=val2) return 0
})

手机码字,大概就是这个意思,应该能用

aa.sort(function (val1,val2){  //传入的对象1和对象2
     if(val1.time>val2.time) return 1; //使用对象的属性排序
    if(val1.time<val2.time) return -1;
    if(val1.time=val2.time) return 0
    })

多谢各位,今天又学到一招~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题