কম্পিউটার

জাভাস্ক্রিপ্টে অ্যারে অবজেক্ট লিস্টের উপর ভিত্তি করে গ্রুপে অবজেক্ট ম্যানিপুলেট করুন


ধরুন, আমাদের কাছে এমন কিছু বস্তুর অ্যারে আছে যাতে কিছু গাড়ি সম্পর্কে তথ্য রয়েছে −

const arr = [
   {
      "group":[],
      "name": "All Makes",
      "code": ""
   },
   {
      "group":["Group A"],
      "name": "BMW",
      "code": "X821"
   },
   {
      "group":["Group B"],
      "name": "Audi",
      "code": "B216"
   },
   {
      "group":["Group B"],
      "name": "Ford",
      "code": "P385"
   },
   {
      "group":["Group B", "Group C"],
      "name": "Mercedes",
      "code": "H801"
   },
   {
      "group":["Group C"],
      "name": "Honda",
      "code": "C213"
   }
];

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

অতএব।], উপরের অ্যারের জন্য, আউটপুট −

এর মত হওয়া উচিত
const output = [
   {
      "group": "Group A",
   "cars": [
      {
         name: "BMW",
         code: "X821"
      }
   ]
},
{
   "group": "Group B",
   "cars": [
      {
         name: "Audi",
         code: "B216"
   },
   {
      name: "Ford",
      code: "P385"
   },
   {
      name: "Mercedes",
      code: "H801"
   }
   ]
},
{
   "group": "Group C",
   "cars": [
      {
         name: "Mercedes",
         code: "H801"
      },
      {
         name: "Honda",
         code: "C213"
      }
   ]
   }
];

উদাহরণ

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

const arr = [
   {
      "group":[],
      "name": "All Makes",
      "code": ""
   },
   {
      "group":["Group A"],
      "name": "BMW",
      "code": "X821"
   },
   {
      "group":["Group B"],
      "name": "Audi",
      "code": "B216"
   },
   {
      "group":["Group B"],
      "name": "Ford",
      "code": "P385"
   },
   {
      "group":["Group B", "Group C"],
      "name": "Mercedes",
      "code": "H801"
   },
   {
      "group":["Group C"],
      "name": "Honda",
      "code": "C213"
   }
];
const groupTogether = (arr = []) => {
   let res = []
   res = Object.entries(arr.reduce((acc, { group, ...r }) => {
      group.forEach(key => acc[key] = (acc[key] ||
      []).concat({...r}));
      return acc;
   }, {}))
   return res.map(([group, arr]) => ({ group, arr }));
};
console.log(JSON.stringify(groupTogether(arr), undefined, 4));

আউটপুট

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

[
   {
      "group": "Group A",
      "arr": [
         {
            "name": "BMW",
            "code": "X821"
         }
      ]
   },
 {
   "group": "Group B",
   "arr": [
      {
         "name": "Audi",
         "code": "B216"
      },
      {
         "name": "Ford",
         "code": "P385"
      },
      {
         "name": "Mercedes",
         "code": "H801"
      }
   ]
},
{
   "group": "Group C",
   "arr": [
      {
         "name": "Mercedes",
         "code": "H801"
      },
      {
         "name": "Honda",
         "code": "C213"
      }
   ]
   }
]

  1. কিভাবে জাভাস্ক্রিপ্টে আইডি দ্বারা অবজেক্টের অ্যারে গ্রুপ করবেন?

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

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

  4. জাভাস্ক্রিপ্টে বস্তুকে 2-ডি অ্যারেতে রূপান্তর করা হচ্ছে