I have an array of objects like so:
const content = [ { title: 'Morning run', id: 'id1', desc: 'Meet at the park', date: '2018-01-14T09:00:00.000Z', location: 'Central park', createdBy: '23432432', }, { title: 'Evening run', id: 'id2', desc: 'Meet by the station', date: '2018-01-14T18:00:00.000Z', location: 'Central station', createdBy: '23432432', }, ];
How can I create an associative array like so?:
const output = {'id1' : 'Morning run', 'id2' : 'Evening run'}
Can this be done with a map function?
Advertisement
Answer
Since you need just one object in the result, you could use array#reduce
like this:
const content = [{ title: 'Morning run', id: 'id1', desc: 'Meet at the park', date: '2018-01-14T09:00:00.000Z', location: 'Central park', createdBy: '23432432', }, { title: 'Evening run', id: 'id2', desc: 'Meet by the station', date: '2018-01-14T18:00:00.000Z', location: 'Central station', createdBy: '23432432', }, ]; var result = content.reduce(function(accum, currentVal) { accum[currentVal.id] = currentVal.title; return accum; }, {}); console.log(result);