當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。