У меня есть два типа для структур данных
var dataA = [
{
"Employee Name": "Mr. X",
id: "1"
},
{
"Employee Name": "Mr. Y",
id: "2"
},
{
"Employee Name": "Mr. Z",
id: "3"
}
];
var dataB = [
{
id: "1",
"Portfolio Lead": "A"
},
{
id: "2",
"Portfolio Lead": "B"
},
{
id: "4",
"Portfolio Lead": "D"
}
];
Теперь я сравниваю значение id
обоих массивов и добавляю свойство "Portfolio Lead"
к dataA
.
Ниже приведен код,
function mergeTwoArray() {
dataA.forEach(row => {
dataB.forEach(lead => {
if (lead["id"] === row["id"]) {
row["Portfolio Lead"] = lead["Portfolio Lead"];
}
});
});
console.log(dataA);
}
Проблема в том,
Когда id
не совпадает, мне нужно добавить "Portfolio Lead"
как #NA
. Если я попытаюсь добавить оператор if, все объекты добавят "Portfolio Lead"
как #NA
.
Пожалуйста, скажите мне, что я делаю здесь неправильно.
stackBlitz link https://stackblitz.com/edit/typescript-nypqge?file=index.ts
Вывод должен быть
var dataA = [
{
"Employee Name": "Mr. X",
id: "1",
"Portfolio Lead": "A"
},
{
"Employee Name": "Mr. Y",
id: "2",
"Portfolio Lead": "B"
},
{
"Employee Name": "Mr. Z",
id: "3",
"Portfolio Lead": "#NA"
}
];