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

用js里的sort()对json数据进行排序_第1张图片

上示图片是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进行排序,并将排序后的结果打印出来。


<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)的结果如下:
用js里的sort()对json数据进行排序_第2张图片

console.log(data)的结果如下:(再次强调,sort()在原数据上进行排序
用js里的sort()对json数据进行排序_第3张图片

如上排序完成。

你可能感兴趣的:(javascript)