reactjs 如何删除一个嵌套数组中与其他数组ID匹配的数据

igetnqfo  于 2023-03-29  发布在  React
关注(0)|答案(1)|浏览(133)

我需要删除一个嵌套数组,如果它匹配主数组的id。
arrayOne =

[
    {
        "id": "1",
        "role": [
            "pos_cashier_1",
            "pos_manager"
        ]
    },
    {
        "id": "2",
        "role": [
            "pos_manager",
            "pos_cashier_2"
        ]
    }
]

数组二

[
    {
        "label": "Sessions Sandringham",
        "value": "1"
    },
    {
        "label": "Sessions West Brunswick",
        "value": "2"
    },
    {
        "label": "Global",
        "value": null
    }
]

我需要删除arrayTwo中的数组,如果它的值== id在arrayOne中。有人能帮我吗?

b91juud3

b91juud31#

您可以首先为第一个数组中的所有id创建一个Set,然后根据该Set中是否存在value属性来过滤第二个数组。

let arr1=[{id:"1",role:["pos_cashier_1","pos_manager"]},{id:"2",role:["pos_manager","pos_cashier_2"]}],arr2=[{label:"Sessions Sandringham",value:"1"},{label:"Sessions West Brunswick",value:"2"},{label:"Global",value:null}];
let ids = new Set(arr1.map(o => o.id));
let res = arr2.filter(x => !ids.has(x.value));
console.log(res);

相关问题