Javascript 简写if语句-意外标记;

Javascript 简写if语句-意外标记;,javascript,arrays,if-statement,Javascript,Arrays,If Statement,我在下面有一个函数,它告诉我用户是否在基于用户和组数组的特定组中。现在,它正在生成一个表,表示true或false。如果为真,我希望它只标记一个“X”,如果为假,则标记一个“-” 这就是功能: function processAll(){ for(var i=0; i<users.length; i++){ userGroupTable[users[i]] = {}; var userGroups = parseGroupCollFromUser(u

我在下面有一个函数,它告诉我用户是否在基于用户和组数组的特定组中。现在,它正在生成一个表,表示true或false。如果为真,我希望它只标记一个“X”,如果为假,则标记一个“-”

这就是功能:

function processAll(){
    for(var i=0; i<users.length; i++){
        userGroupTable[users[i]] = {};
        var userGroups = parseGroupCollFromUser(users[i]);
        for(var j=0; j<groups.length; j++){
            //if the array userGroups contains the current group, the value must be true
            userGroupTable[users[i]][groups[j]] = userGroups.indexOf(groups[j]) > -1; *think this line is whats giving the result
        }
    }
}

但是我得到了
意想不到的令牌

您必须使用
而不是

它是三元运算符,看起来像这样

$a === $b ? true : false;

|
更改为
,如中所示

userGroupTable[users[i]][groups[j]] = (userGroups.indexOf(groups[j]) > -1) ? " X " : " - ";

应该是冒号“:”而不是“|”,这个问题似乎离题了,因为它是关于OP的,有一个小的打字错误
userGroupTable[users[i]][groups[j]] = (userGroups.indexOf(groups[j]) > -1) ? " X " : " - ";