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

发布于 2022-09-04 13:27:38 字数 292 浏览 17 评论 0

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日排序,该用什么算法呢?谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

温暖的光 2022-09-11 13:27:38

直接用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

浅笑轻吟梦一曲 2022-09-11 13:27:38

sort()就可以啊

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

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

烟若柳尘 2022-09-11 13:27:38
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
    })
爱人如己 2022-09-11 13:27:38

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文