繁体   English   中英

在javascript中的var上使用搜索

[英]use search on a var in javascript

大家好,我希望您能为我解决一个问题:

我使用一个函数来从组中获取组成员列表。 这将返回到变量。 从这个变量中,我需要查看当前用户( current.sys.id )是否在此列表中。 如果不做某事,如果什么都不做。 不幸的是,即使其中包含记录,我的.search总是返回-1。

我使用gs.log命令查看不同的结果,并且我看到regexp存在于var中,即使这样它也给了我-1。 有人可以看到我在做什么错吗?

这是我的代码

    var list = group_members();
    var check = new RegExp(current.sys_id);
    var control = list.search(check);
    if (control = -1) {
        set_group();
        gs.log("conf is :" + conf);
        gs.log("check is :" + check);
        gs.log("control is: " + control + "de lijst ziet er zo uit: " + list);
    } else {
        gs.log("check is :" + check);
        gs.log("control is: " + control + "de lijst ziet er zo uit: " + list);
    }
}

function group_members() {
    gs.log("functie check groep is aangeroepen");
    var answer = ' ';
    var group = "794ac672d4a301006027eb6da8731188";
    var group_mem = new GlideRecord('sys_user_grmember');
    group_mem.addQuery('group', group);
    group_mem.query();

    while (group_mem.next()) {
        if (answer.length > 0) {
            answer += (',' + group_mem.user.sys_id);
        } else {
            answer = group_mem.user.sys_id;
        }
    }
    return answer.toString();
}

function set_group() {
    gs.log("functie set_groep is aangeroepen");
    var rec1 = new GlideRecord('sys_user_grmember');
    rec1.initialize();
    rec1.user = current.sys_id;
    rec1.group.setDisplayValue('TFPP Users');
    rec1.insert();
    gs.log("groep is nu gezet");
}

提前致谢。

您的问题表明您正在寻找current.sys.id,但是您的代码使用current.sys __id。 您的问题就是这种错字吗?

顺便说一句,我将使用indexOf而不是search,因为您并未真正使用要创建的正则表达式。 做就是了:

list.indexOf(current.sys.id);

如果它返回-1,那是因为它不在那儿。

好吧,我睡了一晚,尝试了另一种方法:

代替返回完整的用户列表,我在功能中添加了检查。

function group_members(){
    var answer = ' ';
    var group = "794ac672d4a301006027eb6da8731188";
    var group_mem = new GlideRecord('sys_user_grmember');
    group_mem.addQuery('group',group);
    group_mem.query();

        while(group_mem.next()){
            var user = current.sys_id;
            if (user == group_mem.user.sys_id){
                return ("1")
            }
        }
    }

现在,如果列表中存在我的当前用户,它将返回1,否则它将是未定义的。 这将删除整个搜索部分。 感谢您的答复。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM