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

জাভাস্ক্রিপ্টে ডুপ্লিকেট মর্জ করে প্রতিটি অবজেক্টে কাউন্ট বাড়ানো


মান লজিয়ে, আমাদের নিচের মতো একটি অবজেক্টের অ্যারে আছে −

const arr = [
  {code: "AA", gender:"male", DOB:"2000-05-15"},
  {code: "AA", gender:"female", DOB:"2015-05-15"},
  {code:"A0", gender:"female", DOB:"2005-01-01"},
  {code: "A1", gender:"male", DOB:"2015-01-15"}
];

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অবজেক্টের অ্যারে নেয়। ফাংশনটি অ্যারে-তে ডুপ্লিকেট অবজেক্টের সংখ্যা গণনা করবে (অবজেক্টের "code" প্রপার্টি ভিত্তিক) এবং প্রতিটি ইউনিক অবজেক্টে একটি নতুন count প্রপার্টি অ্যাসাইন করবে।

ফাংশনটি একটি child প্রপার্টিও অ্যাসাইন করবে যার মান হবে ১ যদি বয়স (DOB এবং বর্তমান তারিখ ব্যবহার করে ক্যালকুলেটেড) ১৮ বছরের চেয়ে কম হয়, অন্যথায় ০।

উদাহরণ

এটির কোড হবে −

const arr = [
  {code: "AA", gender:"male", DOB:"2000-05-15"},
  {code: "AA", gender:"female", DOB:"2015-05-15"},
  {code:"A0", gender:"female", DOB:"2005-01-01"},
  {code: "A1", gender:"male", DOB:"2015-01-15"}
];
const groupAndAdd = (arr = []) => {
  const result = new Map();
  let nowYear = new Date().getYear();
  arr.forEach(el => {
    let item = result.get(el.code) || {code: el.code, count: 0, female: 0, child: 0 };
    item.count++;
    item.female += el.gender === "female";
    item.child += nowYear - new Date(Date.parse(el.DOB)).getYear() <18;
    result.set(item.code, item);
  });
  return result;
};
console.log(groupAndAdd(arr));

আউটপুট

কনসোলে আউটপুট হবে −

Map {
  'AA' => { code: 'AA', count: 2, female: 1, child: 1 },
  'A0' => { code: 'A0', count: 1, female: 1, child: 1 },
  'A1' => { code: 'A1', count: 1, female: 0, child: 1 }
}

  1. জাভাস্ক্রিপ্ট অবজেক্টকে নতুন অ্যারেতে ফরম্যাট করা

  2. জাভাস্ক্রিপ্টে অবজেক্ট 머জ করে সিঙ্গেল অবজেক্ট অ্যারে তৈরি করা

  3. জাভাস্ক্রিপ্টে প্রতিটি অবজেক্টের জন্য ইউনিক আইডি তৈরি করা

  4. জাভাস্ক্রিপ্টে অ্যারে সর্ট করে ক্রমাগত পার্থক্যের যোগফল বের করা