_.findIndex() 函数:
- 它用于查找在第二个参数中传递的元素的索引。
- 我们可以将它用于任何类型的数组,如数字数组、字符串数组、字符数组等。
- 如果我们不知道数组中的所有元素是什么,但我们想知道是否存在单个元素,那么我们使用这个函数。
用法:
_.findIndex(array, predicate, [context])
参数:
它需要三个参数:
- array
- predicate
- context (optional)
返回值:
它返回要搜索的元素所在的索引。
例子:
- 将仅包含一个键及其值的列表传递给 _.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,直到我们得到第二个参数中提到的 ‘3’ 的 id。<!-- 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 Array findIndex()用法及代码示例
- Javascript Array.findIndex()用法及代码示例
- Javascript typedArray.findIndex()用法及代码示例
- Lodash _.findIndex()用法及代码示例
- p5.js year()用法及代码示例
- d3.js d3.utcTuesdays()用法及代码示例
- d3.js d3.map.set()用法及代码示例
- Tensorflow.js tf.layers.embedding()用法及代码示例
- d3.js d3.bisectLeft()用法及代码示例
- p5.js removeElements()用法及代码示例
- p5.js quad()用法及代码示例
- d3.js geoCylindricalStereographic()用法及代码示例
注:本文由纯净天空筛选整理自Sakshi98大神的英文原创作品 Underscore.js _.findIndex() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。