如果第二个参数为数字,则bisectLeft函数不起作用

在我要实现的一个小例程中,我使用d3.js的bisectLeft函数。我正在使用最新版本(v5.9.2)。如果我这样做,一切都很好:


var dataArray = [10, 20, 50, 40, 30, 600];

d3.bisectLeft(dataArray, 30); //2

但是,如果我这样做,则不会:


var dataArray = [[10,1],[20,2],[50,5],[40,4],[30,3],[600,60]];

d3.bisectLeft(dataArray, 30); //0 Bad!

但是,这很好用:


var dataArray = [[10,1],[20,2],[50,5],[40,4],[30,3],[600,60]];

d3.bisectLeft(dataArray, '30'); //2 Good!

这是设计使然吗?我已经查看了源代码和文档,但我不明白为什么会这样。曾经知道这个问题很容易在我的代码中解决,但是我仍然有疑问,我不知道我是否缺少某些东西。


手掌心
浏览 147回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript