- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-21-2022 08:19 AM
I have an array of objects like var array =[ { "name": "Joe", "age": 17,flag:"true" },{ "name": "Bob", "age": 17 ,flag:"true" },{ "name": "Carl", "age": 35,flag:"false" },{ "name": "Joe", "age": 17,flag:"true" }]
I want the Unique set of objects like [ { "name": "Joe", "age": 17,flag:"true" },{ "name": "Bob", "age": 17 ,flag:"true" },{ "name": "Carl", "age": 35,flag:"false" }]
I tried to use following script but arrow function is not supported in SNOW
var answer = [];
array.forEach(x => {
if(!answer.some(y => JSON.stringify(y) === JSON.stringify(x))){
answer.push(x)
}
})
Any alternative code to do this requirement in SNOW ?
Solved! Go to Solution.
- Labels:
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-21-2022 08:52 AM
Try below in background script for a check.
var list = [{ "name": "Joe", "age": 17,flag:"true" },{ "name": "Bob", "age": 17 ,flag:"true" },{ "name": "Carl", "age": 35,flag:"false" },{ "name": "Joe", "age": 17,flag:"true" }];
function dedupe(arr) {
return arr.reduce(function(p, c) {
var id = [c.name, c.age, c.flag].join('|');
if (p.temp.indexOf(id) === -1) {
p.out.push(c);
p.temp.push(id);
}
return p;
// return the deduped array
}, {
temp: [],
out: []
}).out;
}
gs.print(JSON.stringify(dedupe(list)));
Refer link for reference.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-21-2022 08:27 AM
Hi,
Refer the below thread

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-21-2022 09:18 AM
Hi tanvi,
Following will find unique objects in an array.
var array =[ { "name": "Joe", "age": 17,flag:"true" },{ "name": "Bob", "age": 17 ,flag:"true" },{ "name": "Carl", "age": 35,flag:"false" },{ "name": "Joe", "age": 17,flag:"true" }];
var arr = [];
for (var i=0; i<array.length;i++) {
arr.push(JSON.stringify(array[i]));
}
var arrayUtil = new ArrayUtil();
var uniq = arrayUtil.unique(arr);
gs.info(uniq);
Execution result:
*** Script: {"name":"Bob","age":17,"flag":"true"},{"name":"Carl","age":35,"flag":"false"},{"name":"Joe","age":17,"flag":"true"}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-21-2022 09:56 AM