loading...
Cover image for πŸš€ Quick tips! 3 ways to get unique values from an array. πŸ’œ

πŸš€ Quick tips! 3 ways to get unique values from an array. πŸ’œ

nialljoemaher profile image Niall Maher ・1 min read

In this super short article, learn how to create 3 different functions that return all of the unique values in an array.

You can watch the video version here or keep scrolling for the code snippets.

1) Filter the values πŸ‘‡

const getUniqueValues = array => (
  array.filter((currentValue, index, arr) => arr.indexOf(currentValue) === index)
);

2) Using reduce πŸ‘‡

const getUniqueValues = array => array.reduce(
  (accumulator, currentValue) => (
    accumulator.includes(currentValue) ? accumulator : [...accumulator, currentValue]
  ), []
);

3) Destructure a new Set πŸ‘‡

const getUniqueValues = array => [...new Set(array)];

Follow me on Twitter

Subscribe on CodΓΊ Community

Posted on May 27 by:

nialljoemaher profile

Niall Maher

@nialljoemaher

Owner @ CodΓΊ, JavaScript Developer, mentor and a lifelong learner. Tweet @nialljoemaher

Discussion

markdown guide
 

It seems that the [... new Set(arr)] is way faster than the other two.

jsbench.me/xnkapa5nxq/1

 

Set also reliably keep what is .add() first as well. But I never really tested [...new Set(arr)] on whether the sequence is kept.

 

That's actually great to know too. Finally, my laziness is paying off. πŸ˜‚

 

HA! Exactly my thought on this topic πŸ˜‚

 

Set is such a impressive and easy way to do this, love to use it <3