【发布时间】:2019-07-01 08:50:05
【问题描述】:
我有一些这样的数组
roles = ['AnyRulesGo@admin', 'NoRules@admin', 'HowYesNo@history', 'MamaMia@survey'];
我有一些像这样的对象
externalLinks = [
{
link: '#',
icon: 'Icon',
translation: 'Home',
role: '@history',
active: false,
visible: false
},
{
link: '#',
icon: 'Task',
translation: 'Tasks',
role: '@task',
active: false,
visible: false
},
{
link: '#',
icon: 'Files',
translation: 'Files',
role: '@admin',
active: true,
visible: false
}
];
我需要一些函数来检查 externaLinks 中的值 role 是否存在于数组 roles 中,并从 更新 externalLinks 中的值 visible >false 到 true
我没有更多的代码,因为我什至不知道从哪里开始,任何帮助都会很棒,谢谢
其中一个问题是我的网络角色名称只从@开始,这意味着我需要剪掉那个字符串,然后进行比较?
我试过这个功能,但没有成功
function objectsAreSame(x, y) {
var objectsAreSame = true;
for(var propertyName in x) {
if(x[propertyName] !== y[propertyName]) {
objectsAreSame = false;
break;
}
}
return objectsAreSame;
}
【问题讨论】:
-
到目前为止您尝试过什么?您能添加您当前的尝试吗?
-
角色数组值和对象属性角色的 externalLinks 数组应该相等不是你的问题没有对象属性匹配任何角色数组
-
AnyRulesGo@admin 只能是@admin 才可以查看属性
-
我需要比较活动中的角色值是否存在于数组角色中?
-
@DILEEPTHOMAS 实际上他们没有,您可以检查一个字符串是否包含另一个
标签: javascript arrays angular typescript ecmascript-6