首頁 >web前端 >js教程 >JavaScript 中如何找出與特定條件相符的所有元素?

JavaScript 中如何找出與特定條件相符的所有元素?

王林
王林轉載
2023-08-24 09:37:08780瀏覽

JavaScript 中如何找出与特定条件匹配的所有元素?

我們可以藉助_.ware()函數找到特定的條件。

_.where()屬於underscore.js,一個提供多種功能的javascript函式庫。 _.where()是一個函數,用於根據給定的條件尋找特定元素。

假設您要查找該類別的所有使用者詳細信息,然後將 _.where() 函數應用於所有部分的列表,並將條件作為部分名稱傳遞。因此將傳回所有符合特定條件的使用者的名稱。

文法

_.where( list, [predicate], [context] )

此函數接受三個參數作為參數。

  • List- 用來保存資料清單的參數。

  • 謂詞- 此參數儲存測試條件。

  • 上下文- 我們需要顯示的文字。

傳回值− 此函數傳回所有符合條件的值。

範例 1:將陣列傳遞給 _.where() 函數

_.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>

範例 2

在下面的範例中,我們將具有多個屬性的元素清單傳遞給 _.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>

範例:3

在此範例中,我們將一個以數字作為其屬性之一的陣列傳遞給 _.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>

範例 4:_.where() 函數作為 _.findWhere() 函數

我們可以使用 _.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>

範例 5:使用 _.filter() 方法

在本例中,我們將使用 _.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>

範例 6:使用 every() 方法

在本例中,我們將使用 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>

範例 7:使用 for 迴圈

現在讓我們來看一個使用 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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除