_.findIndex() 函數:
- 它用於查找在第二個參數中傳遞的元素的索引。
- 我們可以將它用於任何類型的數組,如數字數組、字符串數組、字符數組等。
- 如果我們不知道數組中的所有元素是什麽,但我們想知道是否存在單個元素,那麽我們使用這個函數。
用法:
_.findIndex(array, predicate, [context])
參數:
它需要三個參數:
- array
- predicate
- context (optional)
返回值:
它返回要搜索的元素所在的索引。
例子:
- 將僅包含一個鍵及其值的列表傳遞給 _.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,直到我們得到第二個參數中提到的 ‘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>
輸出:
- 在第二個參數中傳遞列表中不存在的元素:
如果我們傳遞一個列表不包含的元素,那麽結果將是一個負數 -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 Array findIndex()用法及代碼示例
- Javascript Array.findIndex()用法及代碼示例
- Javascript typedArray.findIndex()用法及代碼示例
- Lodash _.findIndex()用法及代碼示例
- p5.js year()用法及代碼示例
- d3.js d3.utcTuesdays()用法及代碼示例
- d3.js d3.map.set()用法及代碼示例
- Tensorflow.js tf.layers.embedding()用法及代碼示例
- d3.js d3.bisectLeft()用法及代碼示例
- p5.js removeElements()用法及代碼示例
- p5.js quad()用法及代碼示例
- d3.js geoCylindricalStereographic()用法及代碼示例
注:本文由純淨天空篩選整理自Sakshi98大神的英文原創作品 Underscore.js _.findIndex() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。