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!
![Create Namespaced Classes with MooTools]()
MooTools has always gotten a bit of grief for not inherently using and standardizing namespaced-based JavaScript classes like the Dojo Toolkit does. Many developers create their classes as globals which is generally frowned up. I mostly disagree with that stance, but each to their own. In any event...
![CSS Animations Between Media Queries]()
CSS animations are right up there with sliced bread. CSS animations are efficient because they can be hardware accelerated, they require no JavaScript overhead, and they are composed of very little CSS code. Quite often we add CSS transforms to elements via CSS during...
![CSS Rounded Corners]()
The ability to create rounded corners with CSS opens the possibility of subtle design improvements without the need to include images. CSS rounded corners thus save us time in creating images and requests to the server. Today, rounded corners with CSS are supported by all of...
![dat.gui: Exceptional JavaScript Interface Controller]()
We all love trusted JavaScript frameworks like MooTools, jQuery, and Dojo, but there's a big push toward using focused micro-frameworks for smaller purposes. Of course, there are positives and negatives to using them. Positives include smaller JS footprint (especially good for mobile) and less cruft, negatives...
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! :)