从嵌套对象中删除属性

Abr*_*Voy 0 javascript ecmascript-6

有一个像这样的对象:

{
    "status": "OK",
    "initialState": {
        "id": "dc3c89d27fd2aae78287c53f952c3b6a",
        "product": {
            "productName": "Cars",
            "description": null
        },
        "models": {
            "Toyota Avensis": {
                "id": "Toyota Avensis",
                "parent": "sedan",
                "required": false,
                "disabled": true,
                "visibility": true,
                "error": false
            },
            "Toyota Corolla": {
                "id": "Toyota Corolla",
                "parent": "sedan",
                "required": true,
                "disabled": false,
                "visibility": true,
                "error": false
            },
            "Ford Focus": {
                "id": "Ford Focus",
                "parent": "sedan",
                "required": false,
                "disabled": true,
                "visibility": true,
                "error": false
            },
            "Ford Mondeo": {
                "id": "Ford Mondeo",
                "parent": "sedan",
                "required": false,
                "disabled": true,
                "visibility": true,
                "error": false
            }
        },
        "userId": "user1",
        "status": 1
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图从对象中删除类似disabled和的属性。errorinitialState.models

但我的最后一次尝试没有成功。我尝试的是类似的(假设上面的对象存储为const myObject):

Object.entries(myObject.initialState.models).forEach(([key, value]) => {
    Object.entries(value).forEach(([subKey, subValue]) => {
        if (subKey === 'disabled') {
            delete myObject.initialState.models[value.disabled];
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

但这样一来,就没有删除任何内容。应该怎么做才能无条件地删除disabled和等属性error

Mic*_*orn 5

您可以直接从每个模型中删除 和 键,而不是迭代每个模型的键和disablederror

Object.entries(myObject.initialState.models).forEach(([key, value]) => {
    delete value.disabled;
    delete value.error;
});
Run Code Online (Sandbox Code Playgroud)