Skip to content

Instantly share code, notes, and snippets.

@GiovanniRiefolo
Last active June 30, 2023 21:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GiovanniRiefolo/8bbb3be255d27a9a97ba862481055b20 to your computer and use it in GitHub Desktop.
Save GiovanniRiefolo/8bbb3be255d27a9a97ba862481055b20 to your computer and use it in GitHub Desktop.
Return an array of unique values and add a value using new Set
// Data array
const data = [{key: 'value 1'}, {key: 'value 1'}, {key: 'value 2'}, {key: 'value 3'}]
// Extended version
// 1. get all values
// 2. create a new Set and get unique values
// 3. create a new array and add a new value
const values = data.map(value => value.key) // ['value 1', 'value 1', 'value 2', 'value 3']
const uniqueValues = new Set(values) // {'value 1', 'value 2', 'value 3'}
const newUniqueValues = [...uniqueValues, 'value 4'] // ['value 1', 'value 2', 'value 3', 'value 4']
// Short Version (all-in-one)
const newerUniqueValues = [...new Set(data.map(value => value.key)), 'value 4'] // ['value 1', 'value 2', 'value 3', 'value 4']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment