_.sortedIndex()函數:
- 它確定要插入傳遞的數組中的新元素的位置,以便該數組保持排序順序。
- 它用於需要將新元素添加到數組但不知道將元素添加到何處(即在什麽位置使數組排序)的情況。
- 它不僅限於數字列表,而且還限於包含字符等的其他列表。
用法:
_.sortedIndex(array, value, [iteratee], [context])
參數:
它包含三個參數:
- array
- value
- iteratee (optional)
返回值:
它返回新元素應在數組中的位置的索引,以便數組保持排序。
例子:
- 將數字列表傳遞給_.sortedIndex()函數:
._sorted()函數從列表中一個接一個地獲取元素,並檢查該元素是否小於新元素。如果小於,則將其忽略,並且_.sortedIndex()在列表中的下一個元素上進行檢查。否則,如果元素更大,則此函數返回該元素的索引。這意味著新元素應位於此索引處,而從該索引開始的病房中的元素首先需要向後移動一步,以便為新元素騰出空間。<!-- Write HTML code here --> <html> <head> <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"> </script> </head> <body> <script type="text/javascript"> console.log(_.sortedIndex([1, 2, 4, 5, 6], 3)); </script> </body> </html>
輸出:
- 將另一個數字列表傳遞給_.sortedIndex()函數:
我們可以將數組的任何長度傳遞給_.sortedIndex()函數。它將執行二進製搜索以查找新元素的位置。在二進製搜索中,將數組中的所有元素與新元素進行比較,以找到新索引。最後,console.log()找到新索引。<!-- Write HTML code here --> <html> <head> <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"> </script> </head> <body> <script type="text/javascript"> console.log(_.sortedIndex([1, 2, 3, 4, 5, 6, 8], 7)); </script> </body> </html>
輸出:
- 將結構傳遞給_.sortedIndex()函數:
我們甚至可以傳遞一個包含多個屬性鍵的結構。在此,我們需要提及要執行二進製搜索的鍵。像下麵的示例一樣,我們有2個鍵,分別是name和sal。稍後,在提到我們需要插入的元素之後,我們將sal屬性作為比較參數。<!-- Write HTML code here --> <html> <head> <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"> </script> </head> <body> <script type="text/javascript"> console.log(_.sortedIndex([{name:'amit', sal:40000}, {name:'ankit', sal:60000}, {name:'anju', sal:80000}], {name:'akash', sal:70000}, 'sal')); </script> </body> </html>
輸出:
- 將搜索應用於字符:
我們甚至可以對字符而不是數字進行二進製搜索。在此,我們傳遞一個具有3個屬性的結構,即name,rollNo和section。在此,我們傳遞包含字符的比較的第三個屬性。結果將以類似的方式進行,沒有錯誤。<!-- Write HTML code here --> <html> <head> <script src = "https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"> </script> </head> <body> <script type="text/javascript"> console.log(_.sortedIndex([{name:'akansha', rollNo:01, section:'a'}, {name:'aishwarya', rollNo:02, section:'b'}, {name:'anjali', rollNo:03, section:'d'}], {name:'preeti', rollNo:04, section:'c'}, 'section')); </script> </body> </html>
輸出:
注意:
這些命令在Google控製台或firefox中將無法使用,因為需要添加這些尚未添加的其他文件。
因此,將給定的鏈接添加到您的HTML文件,然後運行它們。
鏈接如下:
<!-- Write HTML code here -->
<script type="text/javascript"
src ="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js">
</script>
一個例子如下所示:
相關用法
- p5.js createFileInput()用法及代碼示例
- p5.js createInput()用法及代碼示例
- p5.js loadFont()用法及代碼示例
- p5.js textWidth()用法及代碼示例
- p5.js lerpColor()用法及代碼示例
- p5.js createVideo()用法及代碼示例
- p5.js createSpan()用法及代碼示例
注:本文由純淨天空篩選整理自Sakshi98大神的英文原創作品 Underscore.js | _.sortedIndex()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。