Re-arranging string to array of object

by Jithin Raj P R

JavaScript

const csv = `
1, Alice , [email protected] , admin;editor
2, Bob, [email protected], viewer
3, Charlie, [email protected] , editor; viewer
`;

function makeItBetter(str) {
  return str.trim().split('\n').map((line) => {
    const [id, name, email, roles] = line.split(',').map(a => a);

    return {
      id: id,
      name: name,
      email: email,
      roles: roles,
    };
  },{})
}

console.log(makeItBetter(csv))

//output
// [
//   { id: 1, name: 'Alice', email: '[email protected]', roles: ['admin','editor'] },
//   { id: 2, name: 'Bob', email: '[email protected]', roles: ['viewer'] },
//   { id: 3, name: 'Charlie', email: '[email protected]', roles: ['editor','viewer'] },
// ]