题目说明
编写 function solution(rules, requests)。输入输出均为 JSON 值,不要修改输入数组或对象。不支持外部库、网络访问及异步函数。 rules:{effect,subject,action,resource}[]; requests:{subject,action,resource}[]. A rule matches when each field is '*' or an exact case-sensitive match. Any matching 'deny' overrides every allow. Otherwise allow if a matching 'allow' exists, deny by default. Ignore other effects. Rule order does not matter. Return booleans in request order. 输入范围:每个输入数组最多50,000项,每个字符串最多1,000个字符。数字必须有限,整数及整数累计结果在JavaScript安全整数范围内。其他类型和有效性遵循上述规则。
输入输出示例
示例 1
函数参数
[
[
{
"effect": "allow",
"subject": "alice",
"action": "*",
"resource": "*"
}
],
[
{
"subject": "alice",
"action": "read",
"resource": "file"
},
{
"subject": "bob",
"action": "read",
"resource": "file"
}
]
]返回值
[ true, false ]
示例 2
函数参数
[
[
{
"effect": "allow",
"subject": "*",
"action": "*",
"resource": "*"
},
{
"effect": "deny",
"subject": "alice",
"action": "*",
"resource": "*"
}
],
[
{
"subject": "alice",
"action": "read",
"resource": "file"
},
{
"subject": "bob",
"action": "read",
"resource": "file"
}
]
]返回值
[ false, true ]
示例 3
函数参数
[
[
{
"effect": "deny",
"subject": "bob",
"action": "*",
"resource": "*"
},
{
"effect": "allow",
"subject": "*",
"action": "*",
"resource": "*"
}
],
[
{
"subject": "alice",
"action": "read",
"resource": "file"
}
]
]返回值
[ true ]