ধরা যাক, আমাদের কাছে অবজেক্টের বিন্যাসে সাজানো একটি দল সম্পর্কে নিম্নলিখিত ডেটা রয়েছে, আমাদের কাজ হল এই ডেটাটিকে একটি বস্তুতে রূপান্তর করা যার ভূমিকা এবং মূল্য হিসাবে প্লেয়ারের নামগুলির অ্যারে হিসাবে।
আমাদের নমুনা অ্যারে -
const team = [{ role: 'Batsman', player: 'V Kohli' }, { role: 'Wicket Keeper', player: 'KL Rahul' }, { role: 'Batsman', player: 'R Sharma' }, { role: 'Wicket Keeper', player: 'R Pant' }, { role: 'Bowler', player: 'B Kumar' }, { role: 'Bowler', player: 'M Shami' }, ]
আসুন একটি ফাংশন objectify() সংজ্ঞায়িত করি যেটি একটি আর্গুমেন্ট হিসাবে অ্যারে নেয় এবং সংশ্লিষ্ট বস্তুটি প্রদান করে।
এর জন্য কোড হবে −
const objectify = (team) => { const teamObject = {}; team.forEach(member => { if(teamObject[member.role]){ teamObject[member.role].push(member.player); }else{ teamObject[member.role] = [member.player]; } }); return teamObject; } console.log(objectify(team));
এখানে, আমরা প্রতিটি অ্যারে আইটেমকে একে একে লুপ করি, যদি এটি টিমঅবজেক্টে থাকে তবে আমরা প্লেয়ারটিকে এর মানতে ঠেলে দিই অন্যথায় আমরা এটিকে একক প্লেয়ারের সাথে একটি অ্যারে বরাদ্দ করি
এখানে সম্পূর্ণ কোড -
উদাহরণ
const team = [{ role: 'Batsman', player: 'V Kohli' }, { role: 'Wicket Keeper', player: 'KL Rahul' }, { role: 'Batsman', player: 'R Sharma' }, { role: 'Wicket Keeper', player: 'R Pant' }, { role: 'Bowler', player: 'B Kumar' }, { role: 'Bowler', player: 'M Shami' }, ] const objectify = (team) => { const teamObject = {}; team.forEach(member => { if(teamObject[member.role]){ teamObject[member.role].push(member.player); }else{ teamObject[member.role] = [member.player]; } }); return teamObject; } console.log(objectify(team));
আউটপুট
কনসোলে এই কোডের আউটপুট হবে −
{ Batsman: [ 'V Kohli', 'R Sharma' ], WicketKeeper: [ 'KL Rahul', 'R Pant' ], Bowler: [ 'B Kumar', 'M Shami' ] }