কম্পিউটার

জাভাস্ক্রিপ্ট বৈশিষ্ট্যের উপর ভিত্তি করে পৃথক বস্তু


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

const obj = {
   0: { "time": 1, "day": 1, },
   1: { "time": 2, "day": 1, },
   2: { "time": 3, "day": 1, },
   3: { "time": 1, "day": 2, },
   4: { "time": 2, "day": 2, },
   5: { "time": 3, "day": 2, }
};

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

আউটপুট

উপরের বস্তুর আউটপুট −

হওয়া উচিত
const output = { '1':
{ '1': { time: 1, day: 1 },
'2': { time: 2, day: 1 },
'3': { time: 3, day: 1 } },
'2':
{ '1': { time: 1, day: 2 },
'2': { time: 2, day: 2 },
'3': { time: 3, day: 2 } }
}

উদাহরণ

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

const obj = {
   0: { "time": 1, "day": 1, },
   1: { "time": 2, "day": 1, },
   2: { "time": 3, "day": 1, },
   3: { "time": 1, "day": 2, },
   4: { "time": 2, "day": 2, },
   5: { "time": 3, "day": 2, }
};
const groupObject = obj => {
   let res = {};
   res = Object.values(obj).reduce((acc, val) => {
      if(acc[val['day']] === undefined){
         acc[val['day']] ={};
      };
      acc[val['day']][val['time']] = val;
      return acc;
   },{});
   return res;
};
console.log(groupObject(obj));

আউটপুট

কনসোলে আউটপুট -

{
   '1': {
      '1': { time: 1, day: 1 },
      '2': { time: 2, day: 1 },
      '3': { time: 3, day: 1 }
   },
   '2': {
      '1': { time: 1, day: 2 },
      '2': { time: 2, day: 2 },
      '3': { time: 3, day: 2 }
   }
}

  1. জাভাস্ক্রিপ্টে বস্তুর সমতা ব্যাখ্যা কর।

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

  3. জাভাস্ক্রিপ্টে শেয়ার করা বৈশিষ্ট্য

  4. জাভাস্ক্রিপ্টে একটি মানের উপর ভিত্তি করে বস্তুগুলিকে কীভাবে গ্রুপ করবেন?