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


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


_.findLastIndex()函数:

  • 从数组的末尾开始,它用于查找元素在数组中的位置。
  • 我们甚至可以通过在参数中提及索引来从提及的索引开始搜索。
  • 如果要查找元素在未知数组中的位置,则可以通过仅传递数组名称和需要搜索的元素来使用此函数。

用法:

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

参数:
它包含三个参数:


  • array
  • predicate
  • context(可选的)

返回值:
它返回通过的数组中搜索元素的位置。

例子:

  1. 将数字列表传递给_.lastIndexOf()函数:
    ._lastIndexOf()函数从列表的末尾开始逐个获取元素,并检查数字是否与第二个参数中给出的搜索数字相同。像这里一样,我们正在搜索值为1的rollNo。在列表中,我们有2个值为1的rollNo。_.lastIndexOf()将从列表末尾获取第一个包含rollNo 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(_.findLastIndex([{rollNo:1}, {rollNo:2},  
            {rollNo:3}, {rollNo:1}], { rollNo:1})); 
        </script> 
    </body> 
       
    </html>

    输出:

  2. 将结构传递给_.lastIndexOf()函数:
    我们甚至可以将带有很多键的字符传递给_.lastIndexOf)函数。在此,我们只需要记住要使用哪个参数/键来查找最后一个索引。该键及其值需要作为第二个参数传递。索引从0开始,因此列表的最后一个元素的索引将比数组的大小小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'}]; 
            console.log(_.findLastIndex(users, { name:'Teddy'})); 
        </script> 
    </body> 
       
    </html>

    输出:

  3. 使用另一个参数传递相同的结构:
    这里传递的结构与上面的示例相同,但是用于区分不同参数的键是不同的。像在第二个示例中一样,我们将name作为第二个参数,但是在这里我们将使用id键。此处,传递的ID为“ 3”的最后一个索引是列表的最后一个元素,其索引为列表的大小减去1,即5-1 = 4。
    <!-- 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(_.findLastIndex(users, { id:3})); 
        </script> 
    </body> 
       
    </html>

    输出:

  4. 搜索传递给_.lastIndexOf()函数的列表中不存在的元素:
    在此,我们的结构与上面的示例相同,并且搜索的条件相同,但传递的id不同,即100。我们可以看到,此ID在传递给_.lastIndexOf()的数组中不存在函数。因此,在这种情况下,输出将为负-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(_.findLastIndex(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 | _.findLastIndex()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。