Search code examples
javascriptjavascript-objects

Convert an array of objects to an object


I have an array of objects like this

const values = [{
    existing_value: 'Headline 56',
    new_value: 'Headline_new56',
  },
  {
    existing_value: 'Headline 59',
    new_value: 'Headline_new59',
  },
]

And I want to convert into this form.

const newObject = { "Headline 56": "Headline_new56",  "Headline 59": "Headline_new59"}

I was thinking something like this could work

const newObject = {}

const testvalues = values.map(obj => Object.assign( newObject, obj.existing_value: obj.new_value)) 

Syntactically it's not quite right. What is the best way to go about it?


Solution

  • Object.fromEntries is a possible approach

    const values = [{
        existing_value: 'Headline 56',
        new_value: 'Headline_new56',
      },
      {
        existing_value: 'Headline 59',
        new_value: 'Headline_new59',
      },
    ]
    
    const newObj = Object.fromEntries(values.map(({existing_value,new_value})=>[existing_value,new_value]))
    
    console.log(newObj)