I have an array with the following values:
expandedComponents: {
components: [
{componentName: "hero", componentId: "hero-5856bvC6"},
{componentName: "features", componentId: "features-iAnIKgJN"},
{componentName: "features", componentId: "features-ncf3WpTA"},
{componentName: "features", componentId: "features-iAnIKgJN"},
{componentName: "features", componentId: "features-ncf3WpTA"},
{componentName: "footer", componentId: "footer-cUSAiiVd"}
]
}
I want to filter out any array items with a duplicate componentId.
this.removeDuplicatesBy(x => x.componentId, this.expandedComponents['components']);
removeDuplicatesBy(keyFn, array) {
var set = new Set();
return array.filter(function(x) {
var key = keyFn(x), isNew = !set.has(key);
if (isNew) set.add(key);
return isNew;
});
}
However nothing seems to be happening and the duplicate features
fields still persists. How do I fix this?