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)];
Subscribe on CodΓΊ Community
Top comments (5)
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