- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-11-2023 12:17 PM
Hi Guys,
I need you assistance.....
I have an array of names, lets call it original members ["jo", "john", "jan" ]...
I have another array of names, lets call it new members ["jo", "john", "kevin", "joe" ] ...
I have 2 variables to populate as to which names were added and removed.
Based on my list, Kevin and Joe are new members and Jan was removed. Could someone please assist as to how I can accomplish this.
Thank you!
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-11-2023 02:00 PM
Its as easy as
//You just need to revers them
//This will return "jan" in an array
var removedMembers = au.diff(origMembers, newMembers);
//This will return "kevin" and "joe" in an array
var addedMembers = au.diff(newMembers, origMembers);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-11-2023 01:56 PM
Hi @JLeong ,
What Riya posted requires Javascript ES6, and can't be tested in Global scope in Scripts background. You can specify Javascript mode in Scoped Apps. You can test the above in Scripts Background in a App Scope where Javascript ES6/ES7 is enabled. What does work in Global scope in Scripts Background is the following (Based on DrewW post).
var origMembers = ["jo", "john", "jan" ];
var newMembers = ["jo", "john", "kevin", "joe" ];
var au = new ArrayUtil();
var removedMembers = au.diff(origMembers, newMembers);
gs.info('removedMembers = ' + removedMembers);
var intersection = au.intersect(origMembers, newMembers);
gs.info('intersection = ' + intersection);
// check for additions from orig in new, new is assumed to have more elements
var additions = [];
for (i=0; i < newMembers.length; i++) {
for (j=0; j < intersection.length; j++) {
if (newMembers[i] == intersection[j])
break;
}
if (j == intersection.length)
additions.push(newMembers[i]);
}
gs.info('additions = ' + additions);
I didn't find an easy way to get 'additions' in ArrayUtil.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-11-2023 02:00 PM
Its as easy as
//You just need to revers them
//This will return "jan" in an array
var removedMembers = au.diff(origMembers, newMembers);
//This will return "kevin" and "joe" in an array
var addedMembers = au.diff(newMembers, origMembers);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-11-2023 06:22 PM
Oh wow! Thank you guys. I will remember this.
I didn't know it was that easy.