কম্পিউটার

জাভাস্ক্রিপ্টে মাসিক অনুযায়ী ডেটা গ্রুপ করা


ধরুন আমাদের কাছে এইরকম কিছু ব্যবহারকারী সম্পর্কে কিছু ডেটা আছে -

const obj = {
   "Mary": {
      "2016-1": 2,
      "2016-5": 1,
      "2016-3": 1
   },
   "Paul": {
      "2016-1": 1,
      "2016-3": 1
   },
   "moth": {
      "2016-1": 2,
   "2016-5": 1
   }
};

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এই ধরনের একটি বস্তুতে নেয়। আমাদের ফাংশনটি এই ব্যবহারকারীর ডেটাকে অবজেক্টে গোষ্ঠীভুক্ত করা উচিত যেখানে প্রতিটি অনন্য তারিখ একটি বস্তু দ্বারা প্রতিনিধিত্ব করা হয়।

উদাহরণ

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

const obj = {
   "Mary": {
      "2016-1": 2,
      "2016-5": 1,
      "2016-3": 1
   },
   "Paul": {
      "2016-1": 1,
      "2016-3": 1
   },
   "moth": {
      "2016-1": 2,
      "2016-5": 1
   }
};
const groupByDate = (obj = {}) => {
   const names = Object.keys(obj);
   const res = {};
   for(let i = 0; i < names.length; i++){
      const name = names[i];
      const dates = Object.keys(obj[name]);
      for(let j = 0; j < dates.length; j++){
         const date = dates[j];
         if(!res.hasOwnProperty(date)){
            res[date] = {
               names: [name],
               values: [obj[name][date]]
            }
         }
         else{
            res[date].names.push(name);
            res[date].values.push(obj[name][date]);
         };
      };
   };
   return res;
};
console.log(groupByDate(obj));

আউটপুট

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

{
   '2016-1': { names: [ 'Mary', 'Paul', 'moth' ], values: [ 2, 1, 2 ] },
   '2016-5': { names: [ 'Mary', 'moth' ], values: [ 1, 1 ] },
   '2016-3': { names: [ 'Mary', 'Paul' ], values: [ 1, 1 ] }
}

  1. জাভাস্ক্রিপ্টে স্ট্যাক ডেটা স্ট্রাকচার

  2. জাভাস্ক্রিপ্টে সারির ডেটা স্ট্রাকচার

  3. জাভাস্ক্রিপ্টে হ্যাশ টেবিল ডেটা স্ট্রাকচার

  4. জাভাস্ক্রিপ্টে গ্রুপিং অপারেটর ব্যাখ্যা কর।