কম্পিউটার টিউটোরিয়াল

JavaScript-এ কেস-ইনসেনসিটিভ সাবস্ট্রিং ম্যাচ করে অ্যারে ফিল্টার করা

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);

চলানোর পদ্ধতি

  1. কোডটি filterDemo.js নামে সংরক্ষণ করুন।
  2. টার্মিনালে চালান: 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) ব্যবহার করুন।
  • সার্ভার-সাইড ফিল্টারিং বড় ডেটার জন্য ভালো।
  1. জাভাস্ক্রিপ্টে অ্যারে-র মিলে যাওয়া এলিমেন্ট গ্রুপ করা

  2. জাভাস্ক্রিপ্টে অ্যাসোসিয়েটিভ অ্যারে ফিল্টার করা অন্য অ্যারে দিয়ে

  3. জাভাস্ক্রিপ্টে র‍্যান্ডম স্ট্রিং থেকে অ্যারের স্ট্রিং গঠন ও মিলিয়ে যাচাই করা

  4. জাভাস্ক্রিপ্টে অ্যারে থেকে মিলিয়ে যাওয়া জোড়া বের করা