📜  D3.js bisect()函数

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

D3.js bisect()函数

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

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

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

句法:

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

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

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

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

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

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

 
 
    
 
    D3.js d3.bisect() Function 
    
     
 
    
 
     
 
    

输出:

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

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

 
 
    
 
    D3.js d3.bisect() Function 
    
     
 
    
 
     
 
    

输出:

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

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