<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>