_.findIndex()函數:
- 它用於查找第二個參數中傳遞的元素的索引。
- 我們可以將其用於任何類型的數組,例如數字數組,字符串數組,字符數組等。
- 如果我們不知道數組中所有元素的全部,但是我們想找出是否存在單個元素,則可以使用此函數。
用法:
_.findIndex(array, predicate, [context])
參數:
它包含三個參數:
- array
- predicate
- context(可選的)
返回值:
它返回要搜索的元素所在的索引。
例子:
- 僅傳遞一個鍵的列表並將其值傳遞給_.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>
輸出:
- 將完整的結構傳遞給_.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>
輸出:
- 將屬性與數字進行比較:
在此方法中,我們傳遞了與上述相同的結構,但是我們使用了該屬性來匹配和比較包含數字的“ 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>
輸出:
- 在第二個參數中傳遞列表中不存在的元素:
如果我們傳遞列表中不包含的元素,那麽結果將為負數-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>
一個例子如下所示:
相關用法
- Javascript typedArray.findIndex()用法及代碼示例
- Javascript Array findIndex()用法及代碼示例
- Javascript Array.findIndex()用法及代碼示例
- p5.js createFileInput()用法及代碼示例
- p5.js createInput()用法及代碼示例
- p5.js loadFont()用法及代碼示例
- p5.js textWidth()用法及代碼示例
- p5.js lerpColor()用法及代碼示例
- p5.js createVideo()用法及代碼示例
- p5.js createSpan()用法及代碼示例
注:本文由純淨天空篩選整理自Sakshi98大神的英文原創作品 Underscore.js | _.findIndex()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。