简写if语句 - 意外的令牌;

时间:2013-10-22 14:25:57

标签: javascript arrays if-statement

我在下面有这个功能,它告诉我用户是否在基于用户和组数组的特定组中。现在它正在生成一个表明真或假的表。我想它只是标记一个“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
        }
    }
}

我尝试将该行更改为:

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

但我得到Unexpected token ;

2 个答案:

答案 0 :(得分:12)

您必须使用:代替|

它是ternary operator,它看起来像这样

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

答案 1 :(得分:4)

|更改为:,如

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