ধরুন, আমাদের কাছে এমন একটি অ্যারে অবজেক্ট আছে যাতে কিছু স্টুডেন্ট এর মতো ডেটা রয়েছে −
const arr = [{ name: 'A', idNo: 1, marks: { math: 98, sci: 97, eng: 89 } }, { name: 'B', idNo: 2, marks: { math: 88, sci: 87, eng: 79 } }, { name: 'C', idNo: 3, marks: { math: 87, sci: 98, eng: 91 } }];
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা এইরকম একটি অ্যারে নেয়৷
আমাদের ফাংশনটি তখন বৈশিষ্ট্যগুলির একটি বস্তু প্রস্তুত করবে, প্রতিটি অবজেক্ট আইডির জন্য একটি বৈশিষ্ট্য যা বর্তমানে রয়েছে।
অতএব, উপরের অ্যারের জন্য, আউটপুটটি −
এর মত হওয়া উচিতconst output = { name: [A, B, C], idNo: [1, 2, 3], marks: [{ math: 98, sci: 97, eng: 89 }, { math: 88, sci: 87, eng: 79 }, { math: 87, sci: 98, eng: 91 }] };
উদাহরণ
এর জন্য কোড হবে −
const arr = [{ name: 'A', idNo: 1, marks: { math: 98, sci: 97, eng: 89 } }, { name: 'B', idNo: 2, marks: { math: 88, sci: 87, eng: 79 } }, { name: 'C', idNo: 3, marks: { math: 87, sci: 98, eng: 91 } }]; const combineMarks = (arr = []) => { let res = []; res = arr.reduce((acc, val) => { Object.keys(val).forEach(el => { if (!acc[el]) { acc[el] = []; }; acc[el].push(val[el]) }); return acc; }, {}); return res; }; console.log(combineMarks(arr));
আউটপুট
এবং কনসোলে আউটপুট হবে −
{ name: [ 'A', 'B', 'C' ], idNo: [ 1, 2, 3 ], marks: [ { math: 98, sci: 97, eng: 89 }, { math: 88, sci: 87, eng: 79 }, { math: 87, sci: 98, eng: 91 } ] }