ধরুন, আমাদের কাছে এইরকম বস্তুর একটি 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 } ]