您的位置:首页 > Web前端 > JavaScript

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

2015-06-19 11:38 736 查看
<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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: