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里测试=============