0
我已經在d3.js圖表中有一個排序函數,奇妙地爲我的基於數字的列(切換升序/降序),但是當我把它扔到關鍵時什麼都不做對於基於文本的列d3.js:排序不工作的文本字符串
var sortOrder = false;
var sortUnits = function(key) {
sortOrder = !sortOrder;
unit.sort(function(a, b) {
if (sortOrder) {
if (+a[key] > +b[key]) return -1;
if (+a[key] < +b[key]) return 1;
return 0;
}else{
if (+a[key] > +b[key]) return 1;
if (+a[key] < +b[key]) return -1;
return 0;
}
})
.transition()
.duration(750)
.delay(function(d, i) { return i * 25; })
.attr('transform', function(d, i){return 'translate(0,' + (unitHeight + (i * unitHeight)) +')'; });
}
有一個簡單的修改,將允許該腳本文本和數字排序?
你需要的,如果移動(sortOrder)之外的初始if?否則,很好。 –
謝謝,是的,我想過...但是我可能不得不重複isNaN()。在我可以實際排序之前,我必須檢查兩件事 - sortOrder和isNaN()。我會在早上嘗試當我新鮮 – rolfsf
if(isNaN(a [key])&if!sortOrder){return d3.descending(a [key],b [key])} else {return d3.ascending (a [key],b [key]);}處理頂部;可能會更快地使用elseif和其他的.. –