json 从另一个arr更改obj数组的值

u7up0aaq  于 2022-11-26  发布在  其他
关注(0)|答案(1)|浏览(117)

我有两个obj数组,第一个是default checkbox权限,第二个是set get module
我尝试做的是匹配两个数组的数据匹配,然后更改该对象的值
在defaultArr中,有用户模块,getcheckvalue有模块名称用户,如果两者匹配,则签入下一级别,即defaultArr =〉users =〉add和getcheckvalue =〉module name =〉user匹配,然后在第一个arr中更改该值,如defaultArr =〉users add =〉true
我期望输出defaultArr,但如果与另一个arr模块匹配,则将该值更改为true

const defaultArr = [
    {
        "users": [
            [
                {
                    "add": false
                },
                {
                    "change-password": false
                },
                {
                    "delete": false
                },
                {
                    "forgot-password": false
                },
                {
                    "getAll": false
                },
                {
                    "logout": false
                },
                {
                    "new-password": false
                },
                {
                    "reset-password": false
                },
                {
                    "sign-in": false
                },
                {
                    "update": false
                },
                {
                    "update-profile": false
                }
            ]
        ]
    },
    {
        "roles": [
            [
                {
                    "add": false
                },
                {
                    "delete": false
                },
                {
                    "getAll": false
                },
                {
                    "update": false
                }
            ]
        ]
    },
    {
        "parentDevice": [
            [
                {
                    "add": false
                },
                {
                    "delete": false
                },
                {
                    "getAll": false
                },
                {
                    "update": false
                },
                {
                    "update-disarm": false
                }
            ]
        ]
    },
    {
        "deviceAlert": [
            [
                {
                    "add": false
                },
                {
                    "delete": false
                },
                {
                    "getAll": false
                },
                {
                    "update": false
                }
            ]
        ]
    },
    {
        "general": [
            [
                {
                    "alert-types": false
                },
                {
                    "device-types": false
                },
                {
                    "module-actions": false
                }
            ]
        ]
    },
    {
        "employees": [
            [
                {
                    "add": false
                },
                {
                    "delete": false
                },
                {
                    "getAll": false
                },
                {
                    "update": false
                }
            ]
        ]
    },
    {
        "alertLogs": [
            [
                {
                    "add": false
                },
                {
                    "delete": false
                },
                {
                    "getAll": false
                },
                {
                    "update": false
                }
            ]
        ]
    },
    {
        "contentManagement": [
            [
                {
                    "add": false
                },
                {
                    "delete": false
                },
                {
                    "getAll": false
                },
                {
                    "update": false
                }
            ]
        ]
    }
]

const getcheckvalue = [
    {
        "module": "users",
        "action": "add",
    },
    {
        "module": "users",
        "action": "change-password",
    },
    {
        "module": "users",
        "action": "delete",
    },
    {
        "module": "users",
        "action": "forgot-password",
    },
    {
        "module": "roles",
        "action": "update",
    },
    {
        "module": "parentDevice",
        "action": "update",
    },
    {
        "module": "deviceAlert",
        "action": "getAll",
    },
    {
        "module": "general",
        "action": "device-types",
    },
    {
        "module": "employees",
        "action": "delete",
    }
]
u91tlkcl

u91tlkcl1#

你的问题实际上有点不清楚,所以我的回答实际上可能没有帮助。
首先,如果在defaultArr.users中有多个用户,不要使用数组的数组,而使用对象的数组,这样会简单得多:

defaultArr = {
  users: [
    {
      add: false,
      checkPassword: false,
      ...
    }
  ]
}

现在,只需通过getcheckvalue进行Map,即可轻松检查所有属性

相关问题