Reputation: 8646
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.
Upvotes: 0
Views: 87
Reputation: 3359
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'
Upvotes: 1
Reputation: 2121
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);
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);
Upvotes: 2