当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Underscore.js _.findIndex()用法及代码示例


_.findIndex()函数:

  • 它用于查找第二个参数中传递的元素的索引。
  • 我们可以将其用于任何类型的数组,例如数字数组,字符串数组,字符数组等。
  • 如果我们不知道数组中所有元素的全部,但是我们想找出是否存在单个元素,则可以使用此函数。

用法:

_.findIndex(array, predicate, [context])

参数:
它包含三个参数:


  • array
  • predicate
  • context(可选的)

返回值:
它返回要搜索的元素所在的索引。

例子:

  1. 仅传递一个键的列表并将其值传递给_.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>

    输出:

  2. 将完整的结构传递给_.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>

    输出:

  3. 将属性与数字进行比较:
    在此方法中,我们传递了与上述相同的结构,但是我们使用了该属性来匹配和比较包含数字的“ 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>

    输出:

  4. 在第二个参数中传递列表中不存在的元素:
    如果我们传递列表中不包含的元素,那么结果将为负数-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>

一个例子如下所示:



相关用法


注:本文由纯净天空筛选整理自Sakshi98大神的英文原创作品 Underscore.js | _.findIndex()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。