We're reclaiming inactive PDIs to keep them available for active builders. Learn what's changing, who's affected, and how to protect your work. Read More

Remove duplicate values Array

Harish KM
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

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 ?