如何找出与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}]