我有一个数据集,其中包含一些日期。现在日期随机排列(3月 - 2月 - 1月):
var uniqueDates = ["2016-03-01", "2016-01-01", "2016-02-01"];
我需要按照自然方式(1月 - 2月 - 3月)将这些日期放入下拉列表中。现在我使用下面的代码:
d3.select("select#dateSelector")
.selectAll("option")
.data(uniqueDates)
.enter()
.append("option")
.text(function(d) {
return formatRU(new Date(d));
})
.attr("value", function(d) {
return d;
})
.property("selected", function(d) {
return i == uniqueDates.length - 1;
});
如何在我的下拉列表中获得正确的序列:
<select id="dateSelector">
<option value="2016-01-01">Январь 2016</option>
<option value="2016-02-01">Февраль 2016</option>
<option value="2016-03-01">Март 2016</option>
</select>
答案 0 :(得分:1)
通过将日期的字符串表示转换为Date
object来对其进行排序:
uniqueDates.sort(function(a, b){
return d3.ascending(new Date(a), new Date(b));
});