code
let arr = [{service:"test", program:[{pg:123, ag:123}]},
{service:"test", program:[{pg:123, ag:123}]},
{service:"test1", program:[{pg:1234, ag:1234}]}]
const result = arr.reduce((unique, o) => {
if (!unique.some(obj => obj.service === o.service)) {
unique.push(o);
}
return unique;
}, []);
console.log(result)
Here I am trying to compare the array of objects and remove duplicates but I was able to compare only first level of array of object. I need to compare the "programs" array of objects as well.
Expected Output
[{service:"test", program:[{pg:123, ag:123}]},
{service:"test1", program:[{pg:1234, ag:1234}]}]