当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


d3.js bisect()用法及代码示例


bisect()函数是D3.js中的内置函数,该函数接受一个值作为其参数之一,并返回索引以将该元素插入作为另一个参数传递的数组中,以在指定范围内或整个数组中保持排序顺序。

该函数在默认情况下会在查找索引时考虑整个数组,除非通过将start和end作为参数传递给函数来指定范围。

该二进制函数搜索值并检查它是否已在范围内。如果找到,它将被插入到该元素的左侧。

用法:

d3.bisect(array, value, start, end)

参数:该函数接受上面提到的和下面描述的四个参数:



  • array:此强制参数包含一个元素数组。
  • value:这也是必填参数,其中包含要在数组中插入的值。
  • start:这是一个可选参数,用于指定范围的起始索引。
  • end:这是一个可选参数,用于指定范围的最后一个索引。

返回值:该函数返回一个整数值,该整数值表示需要在数组中插入值以保持排序顺序的索引。

以下程序说明了d3.bisect()函数的用法:

范例1:该程序说明了仅传递两个必需参数的d3.bisect()的用法。

<!DOCTYPE html>  
<html>  
    
<head>  
    <title>D3.js d3.bisect() 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.bisect(array, value1);  
        document.write(value1 + " needs to be inserted at "   
        + pos + "<br>");  
    
        var value2 = 80;  
        var pos2 = d3.bisect(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.bisect()的用法。

<!DOCTYPE html>  
<html>  
    
<head>  
    <title>D3.js d3.bisect() 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.bisect(array, value1, 2, 5);  
        document.write(value1 + " needs to be inserted at "   
        + pos + "<br>");  
    
        var pos2 = d3.bisect(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#bisect




相关用法


注:本文由纯净天空筛选整理自SHUBHAMSINGH10大神的英文原创作品 D3.js bisect() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。