JSON 排序筛选问题求指教,JS实现方案?

数据格式:

[
    {
        "time":"21:03:43",
        "info":"xxxxx"
    },
    {
        "time":"22:03:41",
        "info":"xxxxx"
    },
    {
        "time":"21:03:42",
        "info":"xxxxx"
    },
    {
        "time":"21:03:45",
        "info":"xxxxx"
    }
]

筛选问题:
整个JSON有很多条这类格式的数据,我需要按时间排序,然后筛选出1分钟、5分钟、10分钟、60分钟这样的数据,求大神给指教下,或者给个小demo,谢谢,我自己整了一个函数,但性能很头痛。

阅读 1.6k
1 个回答

假设

data=[
    {
        "time":"21:01:43",
        "info":"xxxxx"
    },
    {
        "time":"22:03:41",
        "info":"xxxxx"
    },
    {
        "time":"21:05:42",
        "info":"xxxxx"
    },
    {
        "time":"21:03:45",
        "info":"xxxxx"
    }
]

那么时间排序可以这么写

data.sort(function(a,b){return a.time.replace(/:/g,'')-b.time.replace(/:/g,'')})

筛选出1分钟、5分钟、10分钟、60分钟这样的数据 这么写

data.filter(function(item){return /:01|05|10|00:/.test(item.time)})

Array.sort()
Array.filter()

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