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

JavaScript-এ filter() এবং includes() ব্যবহার করে অ্যারে ফিল্টার করা

JavaScript-এ filter() এবং includes() কম্বাইন করে অ্যারে থেকে নির্দিষ্ট মানগুলো বাদ দিয়ে বাকিগুলো রাখা যায়। এটি "ব্ল্যাকলিস্ট" ফিল্টারিং-এর জন্য আদর্শ।

ডেটা

const names = ['John', 'David', 'Mike', 'Sam', 'Carol', 'Bob'];

ফিল্টার কোড

// David, Mike, Sam, Carol বাদ দিয়ে বাকি রাখুন
var filtered = names.filter(name => !['David', 'Mike', 'Sam', 'Carol'].includes(name));

console.log("ফিল্টার után:", filtered);

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

  1. কোডটি filterInclude.js নামে সংরক্ষণ করুন।
  2. টার্মিনালে চালান: node filterInclude.js

আউটপুট

ফিল্টার után: [ 'John', 'Bob' ]

ব্যাখ্যা

  • includes() চেক করে নাম ব্ল্যাকলিস্টে আছে কিনা।
  • ! (NOT) দিয়ে উল্টো ফলাফল নেওয়া হয় (যে নেই, সেগুলো রাখো)।
  • filter() নতুন অ্যারে রিটার্ন করে, মূল অ্যারে অপরিবর্তিত।

আধুনিক প্যাটার্ন: Set ব্যবহার (দ্রুত)

const exclude = new Set(['David', 'Mike', 'Sam', 'Carol']);
const filtered = names.filter(name => !exclude.has(name));

বিপরীত: শুধু নির্দিষ্ট মান রাখা (Whitelist)

const allowed = new Set(['John', 'Bob']);
const whitelist = names.filter(name => allowed.has(name));
// ['John', 'Bob']

অবজেক্ট অ্যারে জন্য

const users = [
    { name: 'John', role: 'admin' },
    { name: 'David', role: 'user' },
    { name: 'Bob', role: 'admin' }
];

const admins = users.filter(u => u.role === 'admin');
// [{name: 'John', role: 'admin'}, {name: 'Bob', role: 'admin'}]

পারফরম্যান্স টিপস

  • বড় অ্যারে ও বড় এক্সক্লুড লিস্টের জন্য Set ব্যবহার করুন (O(1) লুকআপ)।
  • includes() হলো O(n), Set.has() হলো O(1)।
  • ফাংশনাল পদ্ধতি (filter) রিডেবল ও বাগ-ফ্রি।
  1. জাভাস্ক্রিপ্টে Array.filter() মেথডের গুরুত্ব এবং উদাহরণ

  2. জাভাস্ক্রিপ্ট array.includes() ফাংশন

  3. জাভাস্ক্রিপ্ট array.includes() মেথড

  4. জাভাস্ক্রিপ্টে Array.prototype.includes() মেথড