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

জাভাস্ক্রিপ্টে 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" প্রোপার্টি কিছু অবজেক্টে রিপিট হয়েছে। আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এমন একটি অ্যারে গ্রহণ করবে যাতে একটি নির্দিষ্ট "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. জাভাস্ক্রিপ্ট Array reverse() মেথড

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

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

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