1

I need to combine ccAddresses and toAddresses values into just one set of array without duplication.

Expected Output

   { "newAddresses": ["[email protected]", "[email protected]", "[email protected]", "[email protected]"] }

const old = [
  {
    "ccAddresses": ["[email protected]", "[email protected]"],
  },
  { 
    "ccAddresses": ["[email protected]", "[email protected]"],
    "toAddresses": ["[email protected]", "[email protected]"],
  }
];

const news = old.flatMap((val, index) => ({
"newAddress": val.ccAddresses
}))

console.log(news)
Joseph
  • 7,042
  • 23
  • 83
  • 181

1 Answers1

1
const res = Array.from(new Set([...old.flatMap(x => [...x.ccAddresses])]))

UPDATED(as per new author's requirement):

Array.from(new Set([...old.flatMap(x => [...x.ccAddresses].concat([...x.toAddresses || []]))]))
Mykyta Halchenko
  • 720
  • 1
  • 3
  • 21