Привет, у вас есть структура для пользовательского интерфейса ниже -

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

В какой-то момент кода я получаю массив IUser - IUser [] с несколькими именами сотрудников и их идентификаторами.

Например.

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

Я хочу получить PID, разделенные запятыми - "A123", "B123"

Я пробовал использовать map и foreach, но не смог правильно зациклить его интерфейс.

0
C Sharper 26 Окт 2021 в 14:02
«Я пробовал с» - можете ли вы включить свою попытку во фрагмент? См. минимальный воспроизводимый пример.
 – 
freedomn-m
26 Окт 2021 в 14:06

2 ответа

Лучший ответ

Для этого можно использовать Array.prototype.map и Array.prototype.join .

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);

Если вы хотите заключить идентификаторы в запятую

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);
1
Ayaz 26 Окт 2021 в 14:09

Вы также можете использовать Array.prototype.map.call для достижения.

    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(",");

Вывод - "A123, B123"

1
Asif vora 26 Окт 2021 в 14:26