我們可以藉助_.ware()函數找到特定的條件。
_.where()屬於underscore.js,一個提供多種功能的javascript函式庫。 _.where()是一個函數,用於根據給定的條件尋找特定元素。
假設您要查找該類別的所有使用者詳細信息,然後將 _.where() 函數應用於所有部分的列表,並將條件作為部分名稱傳遞。因此將傳回所有符合特定條件的使用者的名稱。
_.where( list, [predicate], [context] )
此函數接受三個參數作為參數。
List- 用來保存資料清單的參數。
謂詞- 此參數儲存測試條件。
上下文- 我們需要顯示的文字。
傳回值− 此函數傳回所有符合條件的值。
_.where()函數逐一取得陣列的元素並符合指定的條件。長是真還是假。如果匹配,則傳回該值。
<!DOCTYPE html> <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 = [ { name: "priya", Long: "false" }, { name: "aishwarya", Long: "true" }, { name: "akanksha", Long: "true" }, { name: "ruby", Long: "true" }, ]; document.write(JSON.stringify(_.where(users, { Long: "true" }))); </script> </body> </html>
在下面的範例中,我們將具有多個屬性的元素清單傳遞給 _.where() 函數 -
<!DOCTYPE html> <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 details = [ { "city": "Ranchi", "state": "Jharkhand", "id": "1" }, { "city": "Jamshedpur", "state": "Jharkhand", "id": "2" }, { "city": "Hyderabad", "state": "Telangana", "id": "3" }, { "city": "Delhi", "state": "Delhi", "id": "4" }, { "city": "Delhi", "Pune": "Maharastra", "id": "5" } ]; document.write(JSON.stringify(_.where(details,{state:"Jharkhand"}))); </script> </body> </html>
在此範例中,我們將一個以數字作為其屬性之一的陣列傳遞給 _.where() 函數 -
<!DOCTYPE html> <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: "priya" }, { id: 2, name: "aishwarya" }, { id: 3, name: "akanksha" }, { id: 4, name: "ruby" }, { id: 5, name: "Aman" }, ]; document.write(JSON.stringify(_.where(users, { id: 5 }))); </script> </body> </html>
我們可以使用 _.findWhere() 函數來取代 _.where() 函數,因為兩者給出相同的輸出。
<!DOCTYPE html> <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: "priya" }, { id: 2, name: "aishwarya" }, { id: 3, name: "akanksha" }, { id: 4, name: "ruby" }, { id: 5, name: "Aman" }, ]; document.write(JSON.stringify(_.findWhere(users, { id: 5 }))); </script> </body> </html>
在本例中,我們將使用 _.filter()方法來檢查陣列中的元素是否符合條件。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>_.filter() method example</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"></script> <div id="filter"></div> </head> <body> <script> let arr = [2, 4, 6, 8, 10]; let flag = false; let getEvenNum = _.filter(arr, function (num) { return num % 2 == 0; }); if (JSON.stringify(getEvenNum) === JSON.stringify(arr)) { flag = true; } document.getElementById("filter").innerHTML ="The array elements passed the condition : " + flag; </script> </body> </html>
在本例中,我們將使用 array.every() 方法來檢查陣列中的元素是否符合條件。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Array.every() method example</title> <div id="every"></div> </head> <body> <script> let arr = new Array(2, 4, 6, 8, 10); let getEvenNum = arr.every(function (num) { return num % 2 == 0; }); document.getElementById("every").innerHTML ="The array elements have passed the condition : " + getEvenNum; </script> </body> </html>
現在讓我們來看一個使用 for 迴圈的範例 -
<!DOCTYPE html> <html lang="en"> <head> <title>Using for loop example</title> <div id="every"></div> </head> <body> <script> let arr = new Array(2, 4, 6, 8, 10); let flag = true; for (let i = 0; i < arr.length; i++) { if (arr[i] > 10) { flag = false; break; } } document.getElementById("every").innerHTML = "The array elements have passed the condition : " + flag; </script> </body> </html>
以上是JavaScript 中如何找出與特定條件相符的所有元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!