জাভাস্ক্রিপ্টের অনেক ফ্রেমওয়ার্ক আছে, जिनमें underscore.js একটি। এতে অনেক ফাংশন রয়েছে, যেগুলোর মধ্যে _.where() একটি ফাংশন যা নির্দিষ্ট শর্তের উপর ভিত্তি করে এলিমেন্ট বের করতে ব্যবহৃত হয়।
এই মেথডটি এলিমেন্টগুলো শর্ত পূরণ করেছে কিনা তা দেখিয়ে প্রদর্শন করে। মনে করুন আমরা একটি শর্ত দিলাম যে প্রদত্ত অ্যারেতে কতজন লোকের বেতন ১৫০০০। তখন _.where() মেথডটি প্রতিটি এলিমেন্টকে পরীক্ষা করে দেখে সেটি শর্ত পূরণ করেছে কিনা। যদি কোনো এলিমেন্ট শর্ত পূরণ করে, তবে সেই নির্দিষ্ট এলিমেন্টটি আউটপুট হিসেবে দেখানো হয়।
সিনট্যাক্স
_.where( list, testCondition);
এটি একটি অ্যারে (list) গ্রহণ করে যেটি পরীক্ষা করা হবে এবং একটি পরীক্ষার শর্ত (testCondition) নেয় এলিমেন্টগুলো ইভ্যালুয়েট করতে। যে এলিমেন্টগুলো শর্ত পূরণ করেছে, সেগুলো আউটপুট হিসেবে দেখানো হয়।
উদাহরণ-১
নিচের উদাহরণে, বয়স (age) সম্পর্কে একটি শর্ত পাস করা হয়েছে এবং শর্ত অনুযায়ী আউটপুট দেখানো হয়েছে।
<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}]
উদাহরণ-২
নিচের উদাহরণে, "students" অ্যারেটি তাদের আইডি (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}]