
- Javascript Basics Tutorial
- Javascript - Home
- Javascript - Overview
- Javascript - Syntax
- Javascript - Enabling
- Javascript - Placement
- Javascript - Variables
- Javascript - Operators
- Javascript - If...Else
- Javascript - Switch Case
- Javascript - While Loop
- Javascript - For Loop
- Javascript - For...in
- Javascript - Loop Control
- Javascript - Functions
- Javascript - Events
- Javascript - Cookies
- Javascript - Page Redirect
- Javascript - Dialog Boxes
- Javascript - Void Keyword
- Javascript - Page Printing
- JavaScript Objects
- Javascript - Objects
- Javascript - Number
- Javascript - Boolean
- Javascript - Strings
- Javascript - Arrays
- Javascript - Date
- Javascript - Math
- Javascript - RegExp
- Javascript - HTML DOM
- JavaScript Advanced
- Javascript - Error Handling
- Javascript - Validations
- Javascript - Animation
- Javascript - Multimedia
- Javascript - Debugging
- Javascript - Image Map
- Javascript - Browsers
- JavaScript Useful Resources
- Javascript - Questions And Answers
- Javascript - Quick Guide
- Javascript - Functions
- Javascript - Resources
JavaScript Converting array of objects into object of arrays
Let’s say, we have the following data about a team arranged in an array of objects, our task is to convert this data into an object with key as role and value as array of player names.
Our sample array −
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' }, ]
Let’s define a function objectify() that takes in the array as an argument and returns the corresponding object.
The code for this will be −
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));
Here, we loop over each array item one by one, if it exists in the teamObject we push the player into its value otherwise we assign it an array with the single player
Here’s the complete code −
Example
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));
Output
The output for this code in the console will be −
{ Batsman: [ 'V Kohli', 'R Sharma' ], WicketKeeper: [ 'KL Rahul', 'R Pant' ], Bowler: [ 'B Kumar', 'M Shami' ] }
- Related Articles
- Converting array of arrays into an object in JavaScript
- Converting array of objects to an object of objects in JavaScript
- Converting array of objects to an object in JavaScript
- Converting two arrays into a JSON object in JavaScript
- Convert array of objects to an object of arrays in JavaScript
- Flat a JavaScript array of objects into an object
- Splitting an object into an array of objects in JavaScript
- Convert an array of objects into plain object in JavaScript
- How to combine two arrays into an array of objects in JavaScript?
- Array of objects to array of arrays in JavaScript
- Converting a JavaScript object to an array of values - JavaScript
- Convert array of arrays to array of objects grouped together JavaScript
- How to transform object of objects to object of array of objects with JavaScript?
- Extract arrays separately from array of Objects in JavaScript
- Converting array into increasing sequence in JavaScript

Advertisements