📜  D3.js | d3.bisectRight()函数

📅  最后修改于: 2022-05-13 01:56:33.656000             🧑  作者: Mango

D3.js | d3.bisectRight()函数

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

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

函数binary 搜索值并检查它是否已经存在于范围中。如果找到,则将其插入该元素的右侧。

句法:

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

参数:此函数接受上面提到的四个参数,如下所述:

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

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

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

示例 1:这个程序说明了 d3.bisectRight() 的使用,它只传递了两个强制参数。



  

    D3.js d3.bisectRight() Function
  
    

  

    

  

输出:

63 needs to be inserted at 4
80 needs to be inserted at 5

示例 2:该程序说明了使用 d3.bisectRight() 将所有四个参数传递给函数。



  

    D3.js d3.bisectRight() Function
  
    

  

    

  

输出:

63 needs to be inserted at 5
63 needs to be inserted at 8

示例 3:该程序说明了d3.bisectRight()d3.bisectLeft()函数之间的区别。



  

    
    Difference between d3.bisectRight() 
    and d3.bisectLeft() functions
    
  
    

  

    

  
                    

输出:

63 needs to be inserted at 3
63 needs to be inserted at 4

参考: https://devdocs.io/d3~5/d3-array#bisectRight