如何使用D3.js

时间:2016-11-10 18:29:44

标签: javascript d3.js

我有一个数据集,其中包含一些日期。现在日期随机排列(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>

1 个答案:

答案 0 :(得分:1)

通过将日期的字符串表示转换为Date object来对其进行排序:

uniqueDates.sort(function(a, b){
    return d3.ascending(new Date(a), new Date(b));
});