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

Javascript 有许多框架,其中 underscore.js是其中之一。它提供了许多函数,其中_.where()是用于根据特定条件查找元素的函数。

此方法将根据元素是否通过条件来显示它们。假设如果我们通过一个条件,即所提供的数组中有多少人的薪水等于15000,则 _.where()方法仔细检查每个元素是否通过条件。如果任何元素通过条件,则该特定元素将显示为输出。 

语法

_.where( list, testCondition);

它接受用于检查的数组和用于评估元素的检查条件。通过条件的元素将显示为输出。

示例1

在以下示例中,传递了有关年龄的条件,并根据该条件显示输出。

<html>
<body>
<script
   src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script>
</head>
<body>
<script>
   var people = [
      {"name": "Dhoni", "age": 38},
      {"name": "kohli", "age": 22},
      {"name": "Rohit", "age": 28},
      {"name": "dhawan", "age": 28}
   ]
   document.write(JSON.stringify(_.where(people, {age: 28})));
</script>
</body>
</html>

输出结果

[{"name":"akansha","age":28},{"name":"preeti","age":28}]

示例2

在下面的示例中,通过传递关于其ID的条件来检查数组“学生”,并显示结果,如输出所示。

<html>
<body>
<script
   src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script>
</head>
<body>
<script>
   var students = [
      {"name": "Ravi", "id": 45},
      {"name": "Surya", "id": 45},
      {"name": "Chandra", "id": 47},
      {"name": "guru", "id": 40}
]
   document.write(JSON.stringify(_.where(students, {id:45})));
</script>
</body>
</html>

输出结果

[{"name":"Ravi","id":45},{"name":"Surya","id":45}]