_.findIndex()函数:
- 它用于查找第二个参数中传递的元素的索引。
- 我们可以将其用于任何类型的数组,例如数字数组,字符串数组,字符数组等。
- 如果我们不知道数组中所有元素的全部,但是我们想找出是否存在单个元素,则可以使用此函数。
用法:
_.findIndex(array, predicate, [context])
参数:
它包含三个参数:
- array
- predicate
- context(可选的)
返回值:
它返回要搜索的元素所在的索引。
例子:
- 仅传递一个键的列表并将其值传递给_.findIndex()函数:
._findIndex()函数将列表中的元素一个接一个地进行比较,并将其与作为第二个参数传递的元素进行比较。如果它们匹配,则返回它的索引,否则它会跳过此元素,然后继续下一个。这个过程一直进行到找不到匹配项或列表完成为止。如果列表未找到传递的元素而结束,则结果为-1。<!-- 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(_.findIndex([{rollNo:1}, {rollNo:2}, {rollNo:3}], { rollNo:1})); </script> </body> </html>
输出:
- 将完整的结构传递给_.findIndex()函数:
我们甚至可以将具有许多属性的结构传递给_.findIndex()函数,它将以相同的方式工作。为此,我们还需要提及需要比较的属性。像下面的示例一样,该数组具有3个属性,即is,name,last。其中,我们提到我们想比较并找出名字为“ Teddy”的元素的索引。<!-- 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"> var users = [{'id':1, 'name':'Bobby', 'last':'Stark'}, {'id':2, 'name':'Teddy', 'last':'Lime'}, {'id':3, 'name':'Franky', 'last':'Frail'}, {'id':4, 'name':'Teddy', 'last':'Frail'}]; console.log(_.findIndex(users, { name:'Teddy'})); </script> </body> </html>
输出:
- 将属性与数字进行比较:
在此方法中,我们传递了与上述相同的结构,但是我们使用了该属性来匹配和比较包含数字的“ id”。它将以相同的方式工作,并比较所有ID,直到我们获得第二个参数中提到的ID为“ 3”为止。<!-- 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"> var users = [{'id':1, 'name':'Bobby', 'last':'Stark'}, {'id':2, 'name':'Teddy', 'last':'Lime'}, {'id':3, 'name':'Franky', 'last':'Frail'}, {'id':4, 'name':'Teddy', 'last':'Frail'}, {'id':3, 'name':'Tinu', 'last':'Thauus'}]; console.log(_.findIndex(users, { id:3})); </script> </body> </html>
输出:
- 在第二个参数中传递列表中不存在的元素:
如果我们传递列表中不包含的元素,那么结果将为负数-1。不会有错误。在列表结束但元素不存在的情况下。<!-- 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"> var users = [{'id':1, 'name':'Bobby', 'last':'Stark'}, {'id':2, 'name':'Teddy', 'last':'Lime'}, {'id':3, 'name':'Franky', 'last':'Frail'}, {'id':4, 'name':'Teddy', 'last':'Frail'}, {'id':3, 'name':'Tinu', 'last':'Thauus'}]; console.log(_.findIndex(users, { id:100})); </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>
一个例子如下所示:
相关用法
- Javascript typedArray.findIndex()用法及代码示例
- Javascript Array findIndex()用法及代码示例
- Javascript Array.findIndex()用法及代码示例
- p5.js createFileInput()用法及代码示例
- p5.js createInput()用法及代码示例
- p5.js loadFont()用法及代码示例
- p5.js textWidth()用法及代码示例
- p5.js lerpColor()用法及代码示例
- p5.js createVideo()用法及代码示例
- p5.js createSpan()用法及代码示例
注:本文由纯净天空筛选整理自Sakshi98大神的英文原创作品 Underscore.js | _.findIndex()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。