如何从嵌套在js中的对象数组中的数组中删除sessionID:null值对象

时间:2020-07-04 12:00:21

标签: javascript arrays json mongodb object

[
    {
        "_id": "5edfb4e587a1873120735dcf",
        "firstname": "abc",
        "lastname": "abc",
        "sessions": [
            {
                "_id": "5efc68d146d8330a449e7108",
                "sessionID": null
            },
            {
                "_id": "5efc68e646d8330a449e710a",
                "sessionID": null
            }
        ]
    },
    {
        "_id": "5eedf5685bdb7d33c83186e7",
        "firstname": "sam",
        "lastname": "ple",
        "sessions": [
            {
                "_id": "5efc692d46d8330a449e710c",
                "sessionID": null
            }
        ]
    },
    {
        "_id": "5ef04df83e41dd5b78fe6908",
        "firstname": "User",
        "lastname": "name1",
        "sessions": [
            {
                "_id": "5efc6a8846d8330a449e710e",
                "sessionID": null
            },
            {
                "_id": "5efc6abd46d8330a449e7110",
                "sessionID": null
            }
        ]
    },
    {
        "_id": "5efe0d0c7300073244d765d9",
        "sessions": [],
        "firstname": "User",
        "lastname": "name1"
    }
]

1 个答案:

答案 0 :(得分:0)

您需要映射到数组并使用null过滤掉会话

let originalArray = [
    {
        "_id": "5edfb4e587a1873120735dcf",
        "firstname": "abc",
        "lastname": "abc",
        "sessions": [
            {
                "_id": "5efc68d146d8330a449e7108",
                "sessionID": null
            },
            {
                "_id": "5efc68e646d8330a449e710a",
                "sessionID": null
            }
        ]
    },
    .... the rest of your orignal object
]

let newArray = originalArray.map(item => {
    let sessions = item.sessions.filter(session => {
        return session.sessionID !== null
    })

    return {
        ...item,
        sessions
    }
})