我有两个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",
}
]
1条答案
按热度按时间u91tlkcl1#
你的问题实际上有点不清楚,所以我的回答实际上可能没有帮助。
首先,如果在defaultArr.users中有多个用户,不要使用数组的数组,而使用对象的数组,这样会简单得多:
现在,只需通过getcheckvalue进行Map,即可轻松检查所有属性