0

I'd like to remove duplicate object. How can I do this?

const array1 = [{ currencyName : "USD", code: "121" }, 
                { currencyName : "INR", code: "123" }];

const array2 = [{ currencyName : "USD", code: "121" }];

Result = [{ currencyName : "INR", code: "121" }]
ggorlen
  • 44,755
  • 7
  • 76
  • 106
  • Possible duplicate of [Remove duplicates from an array of objects in JavaScript](https://stackoverflow.com/questions/2218999/remove-duplicates-from-an-array-of-objects-in-javascript) also [1](https://stackoverflow.com/questions/36032179/remove-duplicates-in-an-object-array-javascript) [2](https://stackoverflow.com/questions/45439961/remove-duplicate-values-from-an-array-of-objects-in-javascript) [3](https://stackoverflow.com/questions/40811451/remove-duplicates-from-a-array-of-objects) – ggorlen Oct 22 '19 at 15:20

2 Answers2

0

Try to use filter and some methods:

const array1 =[ 
    { currencyName : "USD", code: "121" }, 
    { currencyName : "INR", code: "123" }
]

const array2=[ { currencyName : "USD", code: "121" }];

const result = array1.filter(f=> 
    !array2.some(s=> f.code === s.code && f.currencyName === s.currencyName)
);

console.log(result)
StepUp
  • 36,391
  • 15
  • 88
  • 148
0

const array1 = [{
  currencyName: "USD",
  code: "121"
}, {
  currencyName: "INR",
  code: "123"
}, ]

const array2 = [{
  currencyName: "USD",
  code: "121"
}, {
  currencyName: "FRA",
  code: "122"
}]

let array1Uniques = array1.filter(a => !array2.some(b => b.code === a.code));
let array2Uniques = array2.filter(a => !array1.some(b => b.code === a.code));
let result = [...array1Uniques,  ...array2Uniques];
console.log(result);
junvar
  • 11,151
  • 2
  • 30
  • 46