【发布时间】:2021-12-25 02:15:09
【问题描述】:
我有这个有效的代码:
var roles = user.getRoles()
for (var i = 0; i < roles.length; i++){
if (Roles[i].getName()== ‘Admin’){
--gets to this line
}
}
但是我想知道如果没有像下面这样对我不起作用的 for/if 循环,我是否可以达到 TRUE/FALSE:
if (user.getRoles().getName().indexOf('Admin') >-1){
-does not get to this line
}
给出错误:user.getRoles().getName 不是函数
如果我打印出角色,则返回: UserRole @ 718816D,UserRole @ 48BAF10B,UserRole @ 777D6D90,UserRole @ 34AD99FB,UserRole @ 79AB731E,UserRole @ 65269056,UserRole @ 3D9CBF48,UserRole @ 6306983,UserRole @ 6Ce88983,UserRole @ 4E792483,UserRole @ Userrole @ 1F8CA93A P. >
【问题讨论】:
-
请添加
user.getRoles()的返回值示例。 -
什么是
Roles?在第一个代码中检查Roles[i].getName(),在第二个代码中检查user.getRoles().getName(),所以Roles[i]和user.getRoles()似乎不同 -
@Georgy 怎么样? roles = user.getRoles() 这是一个项目数组角色[i] 是该数组的索引。
-
@NinaScholz 不太确定为什么需要这样做,它不是非描述性 ID
-
@Edward 可能是错字,你有
var roles = user.getRoles(),但使用Roles[i].getName()。Roles和roles是不同的变量
标签: javascript arrays object