json对象 按key排序

underscore里没有找到json按key排序的方法,自己写一个。      两种类型①按key的大小排序     ②key按指定顺序排序

① 按key大小排序

1,写一个sortJson的方法接收一个obj的json对象

例如 {"2018-01-04":"1月4号数据","2018-01-01":"1月1号数据","2018-01-02":"1月2号数据","2018-01-03":"1月3号数据"}
var sortJson = function(obj, callback) {
var endValue, item, key, keyArray, keyArray2, _i, _len;
endValue = {};
keyArray = [];
keyArray2 = [];
for (key in obj) {
keyArray.push(key);
}
keyArray2 = keyArray.sort();
for (_i = 0, _len = keyArray2.length; _i < _len; _i++) {
item = keyArray2[_i];
endValue[item] = obj[item];
}
return typeof callback === "function" ? callback(endValue) : void 0;
};

2,调用测试
var obj =
{"2018-01-04":"1月4号数据","2018-01-01":"1月1号数据","2018-01-02":"1月2号数据","2018-01-03":"1月3号数据"};
sortJson(obj,function(data){console.log(data);});


②key按指定顺序排序
1,写一个sortJson的方法接收一个obj的json对象
sortJson: (keys,obj)->  # json对象key按指定顺序排序方法
keyArray = []
keyArray2 = []
endValue = {}
for key,value of obj
keyArray.push key
_.each keys,(v,k)->
for item in keyArray
if item == v
keyArray2.push item
for item in keyArray2
endValue[item] = obj[item]
return endValue
2,调用测试
var
keys = ['a','b','c','d']
var obj = {"b": ["b"], "c": ["c"], "a": ["a"]}
sortJson(keys,obj)







============console里测试=============


posted @ 2018-12-28 18:19  573156440  阅读(4455)  评论(0编辑  收藏  举报