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

用js里的sort()对json数据进行排序

2017-03-11 19:29 309 查看


上示图片是W3School对Javascript sort()的说明。既然可以对Array进行排序,那对于我们从后台接收到json数据如何进行相同的排序呢?让我们来看这样一段json数据。

{
"result":[
{
"id":1,
"value":2
},{
"id":2,
"value":34
},{
"id":3,
"value":489
},{
"id":4,
"value":45
},{
"id":5,
"value":12
},
{
"id":6,
"value":23
},
{
"id":7,
"value":1
},
{
"id":8,
"value":100
}
]
}


让我们对这个json文件按照value进行排序,并将排序后的结果打印出来。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<script type="text/javascript">
//按升序排列
function up(x,y){
return x.value-y.value
}

//利用jquery中的getJson方法获取json数据
$.getJSON("../../assets/data/test.json","",function(data){
var newdata=data.result
newdata.sort(up);
//打印排序后的数据到控制台
console.log(newdata);
//注意sort()在原数据上进行排序,不生成副本
console.log(data);
})
</script>
</body>
</html>


console.log(newdata)的结果如下:



console.log(data)的结果如下:(再次强调,sort()在原数据上进行排序



如上排序完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript