很抱歉,如果这是一个真正的n00b问题,但我刚刚进入rails并无法解决这个问题。
我目前正在使用Google Analytics网站。并希望将数据放入图表中。然而,当我得到数据时,我想要的东西不合适。目前返回的数据是:
{"legend_size":1,"data":{"series":["2013-06-20","2013-06-21","2013-06-22","2013-06-23","2013-06-24","2013-06-25","2013-06-26"],"values":{"undefined":{"2013-06-26":41,"2013-06-24":2,"2013-06-25":55,"2013-06-22":0,"2013-06-23":1,"2013-06-20":0,"2013-06-21":0}}}}
我需要的是按日期排序的[“data”] [“values”] [“undefined”]位。
我知道这是一个简单的问题。但我到处都看,无法弄清楚。
答案 0 :(得分:0)
好吧,正如我在评论中所说,你不能真正排序和反对,因为它有任意顺序,所以你必须使用一个数组。
我的解决方案是:
var objectFromAnalytics = {"2013-06-26":41,"2013-06-24":2,"2013-06-25":55,"2013-06-22":0,"2013-06-23":1,"2013-06-20":0,"2013-06-21":0},
toSort = [],
dateParts;
for (var date in objectFromAnalytics) {
dateParts = date.split("-");
toSort.push({ date: new Date(dateParts[0], (dateParts[1] - 1), dateParts[2]), value: objectFromAnalytics[date] });
}
var sorted = toSort.sort(function(a,b){
return a.date < b.date ? -1 : a.date > b.date ? 1 : 0; //you can change this to sort by value if you want
});
//sorted == [{ date: dateObject, value: value from analytics} , { ... }]
你可以用更少的几行来逃避,但我认为这样可以理解:)