[英]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.