0

我在下面有这个函数,它告诉我用户是否在基于用户和组数组的特定组中。现在它正在生成一个说明真假的表格。如果为真,我希望它只标记一个“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 ;

4

2 回答 2

12

您必须使用:而不是|.

ternary operator看起来像这样

$a === $b ? true : false;
于 2013-10-22T14:27:12.797 回答
4

将 更改|为 a :,如

userGroupTable[users[i]][groups[j]] = (userGroups.indexOf(groups[j]) > -1) ? " X " : " - ";
于 2013-10-22T14:27:27.693 回答