0
我想排序,然後切片一組JavaScript對象。我已成功切分數據,但排序返回的是既不按類別也不按字母順序排序的類別列表。Javascript對象排序和切片
我的CSV看起來是這樣的:
category,date_calc,value,YYYY,MM
string1,2011-08-01,46440.16,2011,8
string2,2013-03-01,68249.72,2013,3
string1,2014-01-01,4285,2014,1
string3,2012-03-01,47646.82,2012,3
...
這是我的代碼:
d3.csv("data/ncc_category.csv", function(error, csv) {
var data = d3.nest()
.key(function(d) { return d.category;})
.rollup(function(d) { return d3.sum(d, function(g) {return g.value; }); }).entries(csv)
var sorted = data.sort(function (a, b) {
return a.value - b.value;
}).reverse();
var top10 = sorted.slice(0, 10); // slice
console.log(top10);
});
編輯: 在data
第4個對象屏幕抓取。
的第4個對象屏幕抓取在top10
確保'data'包含你認爲它包含(以'console.dir (數據);'例如)。你也可以通過切換'a'和'b'去除'.reverse()'。 – sebnukem
'數據'是好的,並正確地滾動,其只是排序不工作,就好像它沒有在'b.value - a.value;'註冊'值' - 感謝'reverse'的幫助。 – woodbine
您可能想要將'value'解析爲一個數字(例如,在其前面放置一個「+」)。 –