【问题标题】:d3.js: bisector always returns zerod3.js:平分线总是返回零
【发布时间】:2019-04-11 22:35:58
【问题描述】:

http://jsfiddle.net/rdpt5e30/1/

const data = [
  {'year': 2005, 'value': 771900},
  {'year': 2006, 'value': 771500},
  {'year': 2007, 'value': 770500},
  {'year': 2008, 'value': 770400},
  {'year': 2009, 'value': 771000},
  {'year': 2010, 'value': 772400},
  {'year': 2011, 'value': 774100},
  {'year': 2012, 'value': 776700},
  {'year': 2013, 'value': 777100},
  {'year': 2014, 'value': 779200},
  {'year': 2015, 'value': 782300}
];

const bisect = d3.bisector(function(t: any) { return t.year; }).left;

console.log(bisect(data, 4));

无论我给它哪个位置,它总是返回索引 0.. 这与我见过 countless 次的例子完全相同,但由于某种原因它似乎对我不起作用..

有什么想法吗?

【问题讨论】:

  • 返回 0 因为 0 小于所有年份

标签: javascript arrays d3.js


【解决方案1】:

所以问题是我们不应该向它传递一个索引,而是一个与选择器函数匹配的值,所以以我的示例 2010 为例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多