我有一个JSON对象,如下所示我希望按日期排序前5个属性。
var json={"09/03/14":"63.7","09/02/14":"67.4","09/01/14":"67.4","08/29/14":"67.4","08/28/14":"69.4","08/27/14":"69.4","08/26/14":"178","08/25/14":"16.8","08/22/14":""}
答案 0 :(得分:1)
假设您希望它们按升序日期顺序排序:
var json = {
"09/03/14": "63.7",
"09/02/14": "67.4",
"09/01/14": "67.4",
"08/29/14": "67.4",
"08/28/14": "69.4",
"08/27/14": "69.4",
"08/26/14": "178",
"08/25/14": "16.8",
"08/22/14": ""
}
var arr = [];
for (d in json) {
arr.push({
date: new Date(d),
d: d,
v: json[d]
});
}
arr.sort(function (a, b) {
if (a.date < b.date) {
return -1;
}
if (a.date > b.date) {
return 1;
}
return 0;
});
json = {};
for (var i = 0; i < 5; i++) {
json[arr[i].d] = arr[i].v;
}
console.log(json);
要按降序排序,请从sort函数交换返回值。另请注意,这不是真正的JSON,它是一个javascript对象文字。
答案 1 :(得分:0)
<强>样本强> Link
的Javascript
var json='{"09/03/14":"63.7","09/02/14":"67.4","09/01/14":"67.4","08/29/14":"67.4","08/28/14":"69.4","08/27/14":"69.4","08/26/14":"178","08/25/14":"16.8","08/22/14":"0"}';
var obj= $.parseJSON(json);
for (var prop in obj) {
$("#res").append("o." + prop + " = " + obj[prop]+"<br />");
console.log("o." + prop + " = " + obj[prop]);
}
更新1:
按照此信息中描述的日期排序。 Sort object by date