怎么对一个json数据进行排序?

比如 :
var result = {
‘a3 : 3,

'a2' : 2,

'a1' : 1

};

我想排序后,变成 :

var result = {
‘a1 : 1,

'a2' : 2,

'a3' : 3

};

3Q

只能先将其所有属性提取出来,然后排序,之后再逐一赋值,代码如下:

function sortObject(obj)
{
// 先获取所有属性名
var keys = [];
for (var key in obj)
{
keys.push(key);
}
// 排序
keys.sort();
// 导出新的对象
var r = {};
for (var i = 0; i < keys.length; i++)
{
key = keys[i];
r[key] = obj[key];
}
return r;
}
var result = {
'a3': 3,
'a2': 2,
'a1': 1
}
// 输出测试
console.log(result, sortObject(result));

 输出结果为:

Object {a3: 3, a2: 2, a1: 1} Object {a1: 1, a2: 2, a3: 3}

成功!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-07
只能先将其所有属性提取出来,然后排序,之后再逐一赋值
第2个回答  2018-05-07
大神指导,
第3个回答  2018-05-07

利用冒泡排序法可以对json格式数据进行排序:

function bubbleSort(arr) {   
     var len = arr.length;     //arr为json格式数据
     for (var i = 0; i < len; i++) {   
     for (var j = 0; j < len - 1 - i; j++) {      
      if (arr[j] > arr[j+1]) {        //相邻元素两两对比
       var temp = arr[j+1];        //元素交换
        arr[j+1] = arr[j];
         arr[j] = temp;
            };
        };   }   return arr;
    }

参考链接:json格式数据排序

第4个回答  2018-05-07
2. 俞月亭:致87版《聊斋》电视系列剧的“聊粉”朋友们 .博客中国[引用日期2013-10-26]
相似回答