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>