Home > front end >  Javascript : How to add comma to string element in interface
Javascript : How to add comma to string element in interface

Time:10-27

Hi have below structure for user interface -

export interface IUser {
  EMPLOYEE_NAME :string,
  EMPLOYEE_PID : string
}

At a point in a code , I am receiving array of IUser - IUser[] with multiple employeenames and their pids.

Eg.

{EMPLOYEE_NAME:'XYZ',EMPLOYEE_PID :'A123'},
{EMPLOYEE_NAME:'ABC',EMPLOYEE_PID :'B123'},

I want to fetch comma seperated PIDs - 'A123','B123'

I tried with map and foreach but not able to loop properly as its interface.

CodePudding user response:

You can use Array.prototype.map and Array.prototype.join to achieve.

let data = [{EMPLOYEE_NAME:'XYZ',EMPLOYEE_PID :'A123'},
{EMPLOYEE_NAME:'ABC',EMPLOYEE_PID :'B123'}];

let result = data.map(x => x.EMPLOYEE_PID).join(',');
console.log(result);
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" frameborder="0"></iframe>

If you want to wrap the ids in comma

let data = [
  {EMPLOYEE_NAME:'XYZ',EMPLOYEE_PID :'A123'},
  {EMPLOYEE_NAME:'ABC',EMPLOYEE_PID :'B123'}
];
let result = data.map(x => `'${x.EMPLOYEE_PID}'`).join(',');
console.log(result);
<iframe name="sif2" sandbox="allow-forms allow-modals allow-scripts" frameborder="0"></iframe>

CodePudding user response:

You can also use Array.prototype.map.call to achieve.

    const data = [
     {EMPLOYEE_NAME:'XYZ',EMPLOYEE_PID :'A123'},
     {EMPLOYEE_NAME:'ABC',EMPLOYEE_PID :'B123'}
    ];

    Array.prototype.map.call(data,
        function(item) { 
            return item['EMPLOYEE_PID']; 
        }
    ).join(",");

Output - 'A123,B123'

  • Related