json 串排序 遇到的问题 安照日期倒序 等解决 (按照里面日期字段倒序)

<script type="text/javascript" >
        var strJson = [
        {            
            "CommentID": 30000000079,
            "CommentText": "111",
            "UserName": "匿名用户",
            "SubmitTime": "2015-02-05 17:40"
        },
     {

         "CommentID": 30000023628,
         "CommentText": "222还能完游戏吗",
         "UserDisplayAddress": "上海闸北",
         "SubmitTime": "2015-06-16 17:00"
     },
   {
       "CommentID": 30000023627,
       "CommentText": "333还没完游戏吗",
       "SubmitTime": "2015-06-16 17:00"
   }];
       // var obj = JSON.parse(strJson);

        function getSortFun(order, sortBy) {
            var ordAlpah = (order == 'asc') ? '>' : '<';
            var sortFun = new Function('a', 'b', 'return a.' + sortBy + ordAlpah + 'b.' + sortBy + '?1:-1');//使用Function构造函数 定义函数,最后一个参数被看做是函数体,前面的参数枚举出新函数的参数。
            //var sortFun = function (a,b) {//考虑一下函数为啥不能代替上面的运行。
            //    return a.sortBy + ordAlpah + b.sortBy ? 1  : -1 ;
            //}
            return sortFun;
        }
        strJson.sort(getSortFun('desc', 'SubmitTime'));
        //alert(JSON.stringify(strJson));
        document.write(JSON.stringify(strJson))




 //第二种方法, 貌似也没有起作用.有兼容问题, 火狐不起作用。 谷歌是正常的
  strJson.sort(function (a, b) {
       return new Date(a.SubmitTime) < new Date(b.SubmitTime);
    });

    console.log(strJson);
</script>

 

posted @ 2015-06-19 11:38  328201736  阅读(792)  评论(0编辑  收藏  举报