কম্পিউটার

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


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

const arr = [
   {
      "id": "03868185",
      "month_10": 6,
   },
   {
      "id": "03870584",
      "month_6": 2,
   },
   {
      "id": "03870584",
      "month_7": 5,
   },
   {
      "id": "51295",
      "month_1": 1,
   },
   {
      "id": "51295",
      "month_10": 1,
   },
   {
      "id": "55468",
      "month_11": 1,
   }
];

এখানে, আমরা দেখতে পাচ্ছি যে একই "id" বৈশিষ্ট্য কিছু বস্তুতে পুনরাবৃত্তি হচ্ছে। আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অ্যারেতে নেয় যাতে একটি নির্দিষ্ট "আইডি" সম্পত্তির জন্য একটি একক বস্তুতে গোষ্ঠীভুক্ত সমস্ত কী/মান জোড়া রয়েছে৷

উদাহরণ

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

const arr = [
   {
      "id": "03868185",
      "month_10": 6,
   },
   {
      "id": "03870584",
      "month_6": 2,
   },
   {
      "id": "03870584",
      "month_7": 5,
   },
   {
      "id": "51295",
      "month_1": 1,
   },
   {
      "id": "51295",
      "month_10": 1,
   },
   {
      "id": "55468",
      "month_11": 1,
   }
];
const groupById = (arr = []) => {
   const map = {};
   const res = [];
   arr.forEach(el => {
      if(map.hasOwnProperty(el['id'])){
         const index = map[el['id']] - 1;
         const key = Object.keys(el)[1];
         res[index][key] = el[key];
      }
      else{
         map[el['id']] = res.push(el);
      }
   })
   return res;
};
console.log(groupById(arr));

আউটপুট

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

[
   { id: '03868185', month_10: 6 },
   { id: '03870584', month_6: 2, month_7: 5 },
   { id: '51295', month_1: 1, month_10: 1 },
   { id: '55468', month_11: 1 }
]

  1. জাভাস্ক্রিপ্টে অ্যারে রিভার্স()

  2. জাভাস্ক্রিপ্ট JSON HTML

  3. জাভাস্ক্রিপ্ট JSON অ্যারে

  4. জাভাস্ক্রিপ্টে অ্যারে ডি-স্ট্রাকচারিং।