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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。