Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Remove duplicate values Array

Harish KM
Kilo Patron
Kilo Patron

var res=[];

var changeArr='';

var changeTask = new GlideRecord('change_task');

changeTask.addQuery('change_request', current.sys_id);

changeTask.query();

while (changeTask.next())

  {

  changeArr+=','+changeTask.assignment_group.manager;

  res.push(current.u_technical_approver_users=changeArr); //

}

here i am getting duplicate values,

one group can have 2 managers with the same name. i want to eliminate the duplicate

can any one suggest?

Regards
Harish
1 ACCEPTED SOLUTION

I have converted your changeArr from a string to an array for easier processing (and no leading/trailing comma). To make it a comma separated string use arrayName.join(',');



var res=[];


var changeArr=[];


var changeTask = new GlideRecord('change_task');


changeTask.addQuery('change_request', current.sys_id);


changeTask.query();


while (changeTask.next())


  {


  changeArr.push(changeTask.assignment_group.manager);



  res.push(current.u_technical_approver_users=changeArr); //



}



var au = new ArrayUtil();


var newChangeArr = au.unique(changeArr);


var newRes = au.unique(res);


View solution in original post

10 REPLIES 10

Anurag Tripathi
Mega Patron
Mega Patron

Why dont you use arrayUtil,



Its very efficient


http://wiki.servicenow.com/index.php?title=ArrayUtil#gsc.tab=0



Unique is also a function that you just have to call


-Anurag

I tried with ArrayUtil, Not able to find correct syntax,



Can u explain? how to use


Regards
Harish

I have converted your changeArr from a string to an array for easier processing (and no leading/trailing comma). To make it a comma separated string use arrayName.join(',');



var res=[];


var changeArr=[];


var changeTask = new GlideRecord('change_task');


changeTask.addQuery('change_request', current.sys_id);


changeTask.query();


while (changeTask.next())


  {


  changeArr.push(changeTask.assignment_group.manager);



  res.push(current.u_technical_approver_users=changeArr); //



}



var au = new ArrayUtil();


var newChangeArr = au.unique(changeArr);


var newRes = au.unique(res);


Can we use ArrayUtil() in scoped app transform map scripts ?