收藏
回答

数组排序的问题

问题模块 框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
客户端 小程序 Bug iOS 最新 最新 6.6.6

后台获取两个数组,连接后按数组内时间元素排序,在Pc端,显示正确,能排序。但是到了微信端,就没有了排序。

for (var i = 0; i < flow.length; i++) {
for (var j = i; j < flow.length; j++) {
if (new Date(flow[i].date).getTime() < new Date(flow[j].date).getTime()) {
temp = flow[i];
     flow[i] = flow[j];
     flow[j] = temp;
   }
}
}


最后一次编辑于  2018-05-22  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • HS
    HS
    2018-05-22

    iOS 是不支持

    new Date(value: string): Date

    这个方法的,这会返回 null 或 <invalid date>。

    请尝试使用

    new Date(value: number): Date

    或者

    new(

       year: number,

       month: number,

       date?: number,

       hours?: number,

       minutes?: number,

       seconds?: number,

       ms?: number

    ): Date;


    2018-05-22
    赞同
    回复 6
    • 番茄土豆
      番茄土豆
      2018-05-23
      console. log (flow[i]. date ) console. log ( new Date(flow[i]. date ). getTime ()) 2018-05-14 18:19:30 1526293170000
      2018-05-23
      回复
    • HS
      HS
      2018-05-23回复番茄土豆
      flow[i].date 是否是字符串类型?
      2018-05-23
      回复
    • 番茄土豆
      番茄土豆
      2018-05-23回复HS
      嗯,是的,即使加了toString()转换也是,电脑端开发工具测试,手机端远程调试,都是排序后的结果,但是电脑端点击预览,和手机端小程序使用的时候,就是未排序的结果。
      2018-05-23
      1
      回复
    • HS
      HS
      2018-05-23回复番茄土豆
      我更新了回答呢,再试下吧
      2018-05-23
      回复
    • 番茄土豆
      番茄土豆
      2018-05-23回复HS
      flow[1].date.replace(/\-/g, "/") 十分感谢!!!!!!!!! 2018/05/23 13:02:45这种格式是可以的 2018-05-23 13:02:45 这种格式不可以
      2018-05-23
      回复
    查看更多(1)
  • 番茄土豆
    番茄土豆
    2018-05-23
    console.log(flow[i].date)
    console.log(new Date(flow[i].date).getTime())

    2018-05-14 18:19:30

    1526293170000

    2018-05-23
    赞同
    回复