如何在 JavaScript 中查詢滿足特定條件的所有元素?
我們可以藉助_.whare()函式找到特定條件。
_.where()屬於underscore.js,這是一個提供通用函式的 JavaScript 庫。_.where()是一個用於根據給定條件查詢特定元素的函式。
假設您想查詢某個班級的所有使用者資訊,然後將_.where()函式應用於所有部分的列表,並將條件作為部分名稱傳遞。因此,將返回具有特定條件的所有使用者的名稱。
語法
_.where( list, [predicate], [context] )
該函式接受三個引數。
列表 - 用於儲存資料列表的引數。
謂詞 - 此引數儲存測試條件。
上下文 - 我們需要顯示的文字。
返回值 - 該函式返回所有滿足條件的值。
示例 1:將陣列傳遞給 _.where() 函式
_.where()函式逐個獲取陣列的元素,並與指定的條件進行匹配。Long 為真還是假。如果匹配,則返回該值。
<!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>
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP