JavaScript có nhiều framework, trong đó underscore.js là một. Nó cung cấp nhiều hàm, trong đó _.where() dùng để tìm phần tử dựa trên điều kiện cụ thể.
Phương thức này hiển thị các phần tử dựa trên việc chúng có thỏa mãn điều kiện hay không. Ví dụ: truyền điều kiện "bao nhiêu người trong mảng có lương = 15000", thì _.where() sẽ duyệt từng phần tử. Nếu phần tử nào thỏa mãn, phần tử đó sẽ hiển thị.
Cú pháp
_.where(danh_sách, điều_kiện_kiểm_tra);
Chấp nhận một mảng để duyệt và một điều kiện để đánh giá. Các phần tử thỏa mãn điều kiện sẽ được hiển thị.
Ví dụ 1
Trong ví dụ sau, truyền điều kiện về tuổi và hiển thị kết quả dựa trên điều kiện.
<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>
Kết quả
[{"name":"akansha","age":28},{"name":"preeti","age":28}]
Ví dụ 2
Trong ví dụ sau, mảng "students" được duyệt với điều kiện về id và kết quả hiển thị như đầu ra.
<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>
Kết quả
[{"name":"Ravi","id":45},{"name":"Surya","id":45}]