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

对json格式数据进行排序

2014-03-18 00:00 477 查看
javascript是弱类型的语言,系统在遍历json数据是会自行判断数据类型进行排序,如下:
<script src="jquery.js"></script>
<script>
var json1 = {
        "2":{"name":"第1条"},
        "1":{"name":"第2条"},
        "3":{"name":"第3条"}
        }
var json2 = {
        "2_str":{"name":"第1条"},
        "1_str":{"name":"第2条"},
        "3_str":{"name":"第3条"}       
}
$.each(json1, function(i,item){
        alert(i+":"+item.name);
});

$.each(json2, function(i,item){
        alert(i+":"+item.name);
});
</script>


如何对json数据按照指定的排序方式进行排序:
<script src="jquery.js"></script>
<script type="text/javascript">
var json = {"languages": [ 
    {"id": "1", "name": "PHP", "sort": "1"},
    {"id": "2", "name": "JACSCRIPT", "sort": "3"},
    {"id": "3", "name": "PYTHON", "sort": "4"},
    {"id": "4", "name": "NODE.JS", "sort": "2"}
]}; 

//排序前
$.each(json.languages, function(i) {
    alert(json.languages[i].id+"  " +json.languages[i].name+"  sort:"+json.languages[i].sort);        
});

//进行排序
json["languages"].sort(function(a,b){
    return a["sort"] > b["sort"] ? 1 : (a["sort"] == b["sort"] ? 0 : -1);
});

//排序后
$.each(json.languages, function(i) {
    alert(json.languages[i].id+"  " +json.languages[i].name+"  sort:"+json.languages[i].sort);        
});    
</script>


主要是利用javascript的sort方式将数据按照指定方式排序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐