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 ?