bisectLeft()函数是D3.js中的内置函数,该函数接受一个值作为其参数之一,并返回索引以将该元素插入作为另一个参数传递的数组中,以在指定范围内或整个数组中保持排序顺序。
该函数默认情况下会在查找索引时考虑整个数组,除非通过将start和end作为参数传递给函数来指定范围。
函数二进制文件搜索值并检查它是否已在范围内。如果找到,它将被插入到该元素的左侧。
用法:
d3.bisectLeft(array, value, start, end)
参数:该函数接受上面提到并在下面描述的四个参数:
- array:此强制参数包含一个元素数组。
- value:这也是必填参数,其中包含要在数组中插入的值。
- start:这是一个可选参数,用于指定范围的起始索引。
- end:这是一个可选参数,用于指定范围的最后一个索引。
返回值:该函数返回单个整数值,该整数表示需要在数组中插入值以保持排序顺序的索引。
以下程序说明了d3.bisectLeft()函数的用法:
范例1:该程序仅使用两个必需参数说明了d3.bisectLeft()的用法。
<!DOCTYPE html>
<html>
<head>
<title>D3 d3.bisectLeft() Function</title>
<script src='https://d3js.org/d3.v4.min.js'></script>
</head>
<body>
<script>
var array = [42, 43, 53, 61, 71, 87, 91];
var value1 = 63;
var pos = d3.bisectLeft(array, value1);
document.write(value1 +
" needs to be inserted at " + pos + "<br>");
var value2 = 80;
var pos2 = d3.bisectLeft(array, value2);
document.write(value2 +
" needs to be inserted at " + pos2);
</script>
</body>
</html>
输出:
63 needs to be inserted at 4 80 needs to be inserted at 5
范例2:该程序说明了d3.bisectLeft()将所有四个参数传递给函数的用法。
<!DOCTYPE html>
<html>
<head>
<title>D3 d3.bisectLeft() Function</title>
<script src='https://d3js.org/d3.v4.min.js'></script>
</head>
<body>
<script>
var array = [42, 34, 27, 53, 61, 71, 33, 51, 87, 91];
var value1 = 63;
var pos = d3.bisectLeft(array, value1, 2, 5);
document.write(value1 +
" needs to be inserted at " + pos + "<br>");
var pos2 = d3.bisectLeft(array, value1, 6, 9);
document.write(value1 +
" needs to be inserted at " + pos2);
</script>
</body>
</html>
输出:
63 needs to be inserted at 5 63 needs to be inserted at 8
参考:https://devdocs.io/d3~5/d3-array#bisectLeft
相关用法
- p5.js tan()用法及代码示例
- p5.js second()用法及代码示例
- p5.js sin()用法及代码示例
- PHP cos( )用法及代码示例
- CSS var()用法及代码示例
- p5.js day()用法及代码示例
- PHP sin( )用法及代码示例
- PHP pos()用法及代码示例
- PHP key()用法及代码示例
- PHP abs()用法及代码示例
- PHP Ds\Map put()用法及代码示例
- d3.js d3.sum()用法及代码示例
注:本文由纯净天空筛选整理自RICHIK BHATTACHARJEE大神的英文原创作品 D3.js | d3.bisectLeft() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。