_.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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。