JavaScript-এ filter() এবং toLowerCase() ব্যবহার করে অবজেক্টের অ্যারে থেকে কেস-ইনসেনসিটিভ সাবস্ট্রিং ম্যাচ করে ফিল্টার করা যায়। এটি সার্চ ফিচারে খুবই প্রয়োজনীয়।
ডেটা স্ট্রাকচার
let studentDetails = [
{ studentName: "John Smith" },
{ studentName: "john smith" },
{ studentName: "Carol Taylor" }
];
ফিল্টার কোড
var searchName = "John Smith";
var result = studentDetails.filter(obj =>
obj.studentName.toLowerCase().indexOf(searchName.toLowerCase()) >= 0
);
console.log(result);
চলানোর পদ্ধতি
- কোডটি
filterDemo.jsনামে সংরক্ষণ করুন। - টার্মিনালে চালান:
node filterDemo.js
আউটপুট
[
{ studentName: 'John Smith' },
{ studentName: 'john smith' }
]
আধুনিক ও পঠনযোগ্য পদ্ধতি (includes)
var result = studentDetails.filter(obj =>
obj.studentName.toLowerCase().includes(searchName.toLowerCase())
);
রিয়ูজেবল ফাংশন
function caseInsensitiveFilter(array, key, searchTerm) {
const term = searchTerm.toLowerCase();
return array.filter(item =>
item[key].toLowerCase().includes(term)
);
}
// ব্যবহার
var found = caseInsensitiveFilter(studentDetails, "studentName", "john");
console.log(found);
পারফরম্যান্স টিপস
- বড় ডেটাসেটের জন্য
toLowerCase()বারবার কল না করে একবার করুন। - সার্চ টার্ম ছোট হলে ডিবাউন্স (debounce) ব্যবহার করুন।
- সার্ভার-সাইড ফিল্টারিং বড় ডেটার জন্য ভালো।