Unique Array Values
When you look at any programming language, you see missing features that you find puzzling because the use case seems so common. One such case is retrieving unique values from an array with JavaScript. Years ago I mentioned an easy way of unique value management using objects instead of arrays, but that's not always an option and doesn't match every use case.
Want to retrieve a unique array of values from an array that may include duplicate values? You can use new JavaScript spread operator with Set to get an array of unique values:
var j = [...new Set([1, 2, 3, 3])]
>> [1, 2, 3]
Getting unique array values is another awesome usage of the spread operator. And don't forget you can merge object properties with the spread operator!
There's no better feeling than being able to remove a library to complete a task that should be native to the language. This trick brings us one step closer to that!
![fetch API]()
One of the worst kept secrets about AJAX on the web is that the underlying API for it, XMLHttpRequest, wasn't really made for what we've been using it for. We've done well to create elegant APIs around XHR but we know we can do better. Our effort to...
![Detect DOM Node Insertions with JavaScript and CSS Animations]()
I work with an awesome cast of developers at Mozilla, and one of them in Daniel Buchner. Daniel's shared with me an awesome strategy for detecting when nodes have been injected into a parent node without using the deprecated DOM Events API.
![Duplicate DeSandro’s CSS Effect]()
I recently stumbled upon David DeSandro's website when I saw a tweet stating that someone had stolen/hotlinked his website design and code, and he decided to do the only logical thing to retaliate: use some simple JavaScript goodness to inject unicorns into their page.
![Reverse Element Order with CSS Flexbox]()
CSS is becoming more and more powerful these days, almost to the point where the order of HTML elements output to the page no longer matters from a display standpoint -- CSS lets you do so much that almost any layout, large or small, is possible. Semantics...
If you’re forced to stay in EC5-land without the spread operator, you can use the pollyfillable
Array.from()Doesn’t seem to work for arrays of objects unless I’m missing something.
If your array is an object, you can use map function, to get the value in an array.
then you can run method like above.
Anybody using babel with this one should be cautious, this will result in an array with a single set element. Patrick Denny’s is the most predictable form.
Thanks David! Very helpful! :)