I have an array of objects like below :
var ara = [
{
Name: 'Lionel',
Age: 32,
Positions: ['Winger', 'Midfield', 'Striker']
},
{
Name: 'Neymar',
Age: 28,
Position: ['Winger', 'Striker']
}
]
I want this :
var profiles = [
{
Identity: {Name: 'Lionel', Age: 32},
Positions: ['Winger', 'Midfield', 'Striker'],
},
{
Identity: {Name: 'Neymar', Age: 28},
Positions: ['Winger', 'Striker']
];
You can simply use an .map() function and reformat your array
var ara = [
{
Name: 'Lionel',
Age: 32,
Positions: ['Winger', 'Midfield', 'Striker']
},
{
Name: 'Neymar',
Age: 28,
Positions: ['Winger', 'Striker']
}
]
var profiles = ara.map((obj) => {
return {
Identity:{
Name: obj.Name,
Age: obj.Age
},
Positions: obj.Positions
}
})
console.log(profiles)
Destructure with rest in object destructuring ... and build a new object with short hand properties.
const
ara = [{ Name: 'Lionel', Age: 32, Positions: ['Winger', 'Midfield', 'Striker'] }, { Name: 'Neymar', Age: 28, Position: ['Winger', 'Striker'] }],
profiles = ara.map(({ Positions, ...Identity }) =>
({ Identity, Positions })
);
console.log(profiles);
.as-console-wrapper { max-height: 100% !important; top: 0; }