मान लीजिए, हमारे पास एक टीम के बारे में निम्नलिखित डेटा ऑब्जेक्ट्स के एक ऐरे में व्यवस्थित है, हमारा काम इस डेटा को एक ऑब्जेक्ट में बदलना है जिसमें कुंजी के रूप में भूमिका और मान के रूप में खिलाड़ी नामों का ऐरे हो।
हमारा नमूना ऐरे -
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));
यहां, हम ऐरे के प्रत्येक आइटम पर एक-एक करके लूप करते हैं, यदि यह teamObject में मौजूद है तो हम इसके मान में खिलाड़ी को पुश करते हैं अन्यथा हम इसे एकल खिलाड़ी के साथ एक ऐरे निर्दिष्ट करते हैं
यहां पूरा कोड है -
उदाहरण
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' ] }