Map multiple objects into one array

Viewed 551

I have a parsed json array:

parsedJson = JSON.parse(comments);
const reformattedArray = parsedJson.map(({username, rating}) => ({[username]: rating}));

[{…}, {…}, {…}, {…}, {…}]
[{First username: 5}, {Second username: 4}, {Third username: 3}, {Fourth username: 2}, {Fifth username: 1}]

but how is it possible to look my array like this:

{…,…,…,…,…}
{First username: 5, Second username: 4, Third username: 3, Fourth username: 2, Fifth username: 1}

Is it possible to make this array to look like this?

1 Answers

You can easily achieve this with Array.reduce:

const data = [{FirstUsername: 5}, {SecondUsername: 4}, {ThirdUsername: 3}, {FourthUsername: 2}, {FifthUsername: 1}]

const oneObject = data.reduce((total, current) => {
  const keyName = Object.keys(current)[0]
    total[keyName] = current[keyName]
  return total
}, {})

console.log(oneObject)
Related