We've updated the ServiceNow Community Code of Conduct, adding guidelines around AI usage, professionalism, and content violations. Read more

Remove fixed number of groups from an array of groups

anirban300
Kilo Guru

Hello Team,

 

I am trying to remove a fixed number of groups stored in a property from a variable containing all the groups but I am not able to do it. Below is a similar code snippet where from the variable 'allgroups', I want to remove groups the groups stored in 'exgroups'. The 'gs.print' api is showing all the groups. Can someone tell me what am I doing wrong?

 

Code:

var allgroups = [];
allgroups = '44497c651b454110270a87b1f54bcbf5,e60cc5d9872989d4602d33b40cbb35ba,c556ead61bf45514443387fee54bcbae,c819871087dfb110e3bf98ebbbbb35af,c8262ed61bf45514443387fee54bcbf9';
var exgroups = [];
exgroups = '44497c651b454110270a87b1f54bcbf5,c556ead61bf45514443387fee54bcbae,c8262ed61bf45514443387fee54bcbf9';

for (var i = allgroups.length - 1; i >= 0; i--) {
for (var j = 0; j < exgroups.length; j++) {
if (allgroups[i] === exgroups[j]) {
allgroups.splice(i, 1);

}
}

}

gs.print(allgroups);

1 ACCEPTED SOLUTION

Not applicable

Hi @anirban300 ,

Please use below code -

 

var array1 = ['Software', 'Hardware', 'Service Catalog'];
var array2 = ['Technology', 'Governance', 'Hardware', 'HR', 'Service Desk', 'Service Catalog', 'Software'];

var newArray2 = [];
for (var i = 0; i < array2.length; i++) {
    var element = array2[i];
    if (array1.indexOf(element) === -1) {
        newArray2.push(element);
    }
}
array2 = newArray2;
gs.info(array2);

 

Or

var arrayUtil = new ArrayUtil();
var array1 = ['Software', 'Hardware', 'Service Catalog'];
var array2 = ['Technology', 'Governance', 'Hardware', 'HR', 'Service Desk', 'Service Catalog', 'Software'];
var newArray2 = [];
array2 = newArray2;
var n = arrayUtil.diff(array1, array2);
gs.info(n);
 

View solution in original post

1 REPLY 1

Not applicable

Hi @anirban300 ,

Please use below code -

 

var array1 = ['Software', 'Hardware', 'Service Catalog'];
var array2 = ['Technology', 'Governance', 'Hardware', 'HR', 'Service Desk', 'Service Catalog', 'Software'];

var newArray2 = [];
for (var i = 0; i < array2.length; i++) {
    var element = array2[i];
    if (array1.indexOf(element) === -1) {
        newArray2.push(element);
    }
}
array2 = newArray2;
gs.info(array2);

 

Or

var arrayUtil = new ArrayUtil();
var array1 = ['Software', 'Hardware', 'Service Catalog'];
var array2 = ['Technology', 'Governance', 'Hardware', 'HR', 'Service Desk', 'Service Catalog', 'Software'];
var newArray2 = [];
array2 = newArray2;
var n = arrayUtil.diff(array1, array2);
gs.info(n);