কম্পিউটার

জাভাস্ক্রিপ্ট অন্য অ্যারের সাথে একটি সহযোগী অ্যারে ফিল্টার করে


ধরুন, আমাদের কাছে এই ধরনের বস্তুর দুটি অ্যারে আছে −

const data = [
   {"XD_A":"XDL","XD_B_1":"38","XD_B_2":"PB"},
   {"XD_A":"XDR","XD_B_1":"51","XD_B_2":"PB"},
   {"XD_A":"XDL","XD_B_1":"58","XD_B_2":"PB"},
   {"XD_A":"XDR","XD_B_1":"38","XD_B_2":"PB"},
   {"XD_A":"XDL","XD_B_1":"76","XD_B_2":"PB"},
   {"XD_A":"XDR","XD_B_1":"38","XD_B_2":"PB"}
];
const filters =[{"XD_A":"XDR"},{"XD_B_1":"38"}];

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা যথাক্রমে প্রথম এবং দ্বিতীয় আর্গুমেন্টের মতো দুটি অ্যারে নেয়৷

তারপরে ফাংশনটি প্রথম অ্যারে (ডেটা অ্যারে) থেকে শুধুমাত্র সেই বস্তুগুলিকে বাছাই করা উচিত যাতে দ্বিতীয় অ্যারে (ফিল্টার অ্যারে) তে বিদ্যমান সমস্ত কী-মানের জোড়া রয়েছে৷

এবং ফাংশনটি সেই সমস্ত অবজেক্টকে একটি নতুন অবজেক্টে নিয়ে যাওয়া উচিত এবং সেই অবজেক্টটিকে ফিরিয়ে দেওয়া উচিত।

উপরের অ্যারের জন্য, প্রত্যাবর্তিত অ্যারেতে ঠিক এইরকম দুটি বস্তু থাকা উচিত -

const output = [
   {"XD_A":"XDR","XD_B_1":"38","XD_B_2":"PB"},
   {"XD_A":"XDR","XD_B_1":"38","XD_B_2":"PB"}
];

উদাহরণ

এর জন্য কোড হবে −

const data = [
   {"XD_A":"XDL","XD_B_1":"38","XD_B_2":"PB"},
   {"XD_A":"XDR","XD_B_1":"51","XD_B_2":"PB"},
   {"XD_A":"XDL","XD_B_1":"58","XD_B_2":"PB"},
   {"XD_A":"XDR","XD_B_1":"38","XD_B_2":"PB"},
   {"XD_A":"XDL","XD_B_1":"76","XD_B_2":"PB"},
   {"XD_A":"XDR","XD_B_1":"38","XD_B_2":"PB"}
];
const filters =[{"XD_A":"XDR"},{"XD_B_1":"38"}];
const filter = (data, filters) => {
   return data.filter(e => {
      try{
         filters.forEach(o => {
            Object.keys(o).forEach(key => {
               if(e[key] !== o[key]) throw new 1;
            });
         });
         return true;
      }
      catch(e){
         return false;
      }
   });
}
console.info(filter(data, filters));

আউটপুট

এবং কনসোলে আউটপুট হবে -

[
   { XD_A: 'XDR', XD_B_1: '38', XD_B_2: 'PB' },
   { XD_A: 'XDR', XD_B_1: '38', XD_B_2: 'PB' }
]

  1. জাভাস্ক্রিপ্টে থাকা অবজেক্ট ধারণকারী অন্য অ্যারের উপর ভিত্তি করে অবজেক্ট ধারণকারী একটি অ্যারে ফিল্টার করুন

  2. জাভাস্ক্রিপ্ট - একটি অ্যারের সাথে ফিল্টারিং অ্যারে

  3. অন্য অ্যারের সাথে বস্তুর জাভাস্ক্রিপ্ট অ্যারে ফিল্টার করুন

  4. জাভাস্ক্রিপ্ট সহ নেস্টেড সংগ্রহ ফিল্টার