我有一個JS的排序是這樣的:JS排序()空結束
records.sort(function(a, b) {
if (a < b) return -1;
if (a > b) return 1;
return 0;
});
這工作,但我的一些記錄是""
或null
。
空記錄列在開頭,但我希望它們在最後。
我認爲有更好的方法來做到這一點比:
if (a == "") a = "zzzz";
但我怎麼能這樣做呢?
我有一個JS的排序是這樣的:JS排序()空結束
records.sort(function(a, b) {
if (a < b) return -1;
if (a > b) return 1;
return 0;
});
這工作,但我的一些記錄是""
或null
。
空記錄列在開頭,但我希望它們在最後。
我認爲有更好的方法來做到這一點比:
if (a == "") a = "zzzz";
但我怎麼能這樣做呢?
也許是這樣的:
records.sort(function(a, b) {
if(a === "" || a === null) return 1;
if(b === "" || b === null) return -1;
if(a === b) return 0;
return a < b ? -1 : 1;
});
[這不是足夠](http://stackoverflow.com/q/20883421/1048572) – Bergi
@Bergi我已經更新了答案,謝謝 –
http://stackoverflow.com/questions/29829205/sort-an-array-so-that-null-values-always-come-last –