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


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


_.findIndex() 函数:

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

用法:

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

参数:
它需要三个参数:

  • array
  • predicate
  • context (optional)

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

例子:

  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,直到我们得到第二个参数中提到的 ‘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>

    输出:

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