Потому что с map
вам нужно return
новый предмет.(Я также исправил структуру вашего объекта, чтобы сделать ее действительной):
const compareResults = [{
"domain": "d1",
"technology": "Java",
"artifacts": [{
"artifactName": "app1",
"hasVersionDiff": true,
"environment": ["DEV", "SQA"],
"version": ["Not Available", "1.0-R1"]
}]
},
{
"domain": "d2",
"technology": ".net",
"artifacts": [{
"artifactName": "app4",
"hasVersionDiff": false,
"environment": ["DEV", "SQA"],
"version": ["1.0-R1", "1.0-R1"]
}]
}
];
const modified = compareResults.map(function(ComparisonResult) {
ComparisonResult.artifacts = ComparisonResult.artifacts.filter(x => x.hasVersionDiff);
return ComparisonResult;
});
console.log(modified);
.as-console-wrapper { max-height: 100% !important; top: auto; }
Если вы хотите удалить весь объект, если artifacts
пусто:
const compareResults = [{
"domain": "d1",
"technology": "Java",
"artifacts": [{
"artifactName": "app1",
"hasVersionDiff": true,
"environment": ["DEV", "SQA"],
"version": ["Not Available", "1.0-R1"]
}]
},
{
"domain": "d2",
"technology": ".net",
"artifacts": [{
"artifactName": "app4",
"hasVersionDiff": false,
"environment": ["DEV", "SQA"],
"version": ["1.0-R1", "1.0-R1"]
}]
}
];
const modified = compareResults.map(function(ComparisonResult) {
ComparisonResult.artifacts = ComparisonResult.artifacts.filter(x => x.hasVersionDiff);
return ComparisonResult;
}).filter(({ artifacts }) => artifacts.length);
console.log(modified);
.as-console-wrapper { max-height: 100% !important; top: auto; }