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


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