我需要一个函数来删除数组中的某些整个对象:
let selectedItem = { LinkID: 1 };
let sindecs = [
{
estado: { id: 2, siga: "AL", nome: "Alagoas" },
link: [
{ LinkID: 1, Link: "link1", Active: false },
{ LinkID: 2, Link: "link 2", Active: false }
],
SindecID: 3
},
{
estado: { id: 19, siga: "RJ", nome: "Rio de Janeiro" },
link: [{ LinkID: 3, Link: "rio", Active: false }],
SindecID: 4
}
];
函数removeLinkObj(sindecs,selectedItem){
// I need to fill here with a function to remove the selectedItem that match with === sindecs.link.LinkID
}
removeLinkObj(sindecs,selectedItem)
结果应为:
let sindecs = [
{
estado: { id: 2, siga: "AL", nome: "Alagoas" },
link: [
//REMOVED LINE
{ LinkID: 2, Link: "link 2", Active: false }
],
SindecID: 3
},
{
estado: { id: 19, siga: "RJ", nome: "Rio de Janeiro" },
link: [{ LinkID: 3, Link: "rio", Active: false }],
SindecID: 4
}
];
答案 0 :(得分:1)
function removeLinkObj(sindecs, selectedItem){
return sindecs.map((row) => {
row.link = row.link.filter(item => item.LinkID !== selectedItem.LinkID);
return row;
});
}