从嵌套对象数组中删除多个对象

问题描述 投票:0回答:0

我们如何从嵌套对象数组中删除多个对象?我使用过滤器尝试了下面的代码,但返回未定义。请提出更好的方法。

let removedIds = [1, 2]

let gridData = [{
    Id: 1,
    name: "ABC",
    class: "XYZ",
    college: "AB",
    collectionRows: [{
            Id: 1,
            name: "ABC",
            class: "XYZ",
            college: "AB",
        },
        {
            Id: 2,
            name: "ABC",
            class: "XYZ",
            college: "AB",
        },
        {
            Id: 3,
            name: "ABC",
            class: "XYZ",
            college: "AB",
        }
    ]
}];

let newData = gridData.map((row) => {
    {
        row.collectionRows = row.collectionRows.filter((subRow) => {
            return !removedIds.includes(subRow.Id);
        });
    }
    return row;
});

console.log(newData, 'newData');

javascript arrays filter javascript-objects
© www.soinside.com 2019 - 2024. All rights reserved.