Updated Aug 11, 2012 to reflect current library versions.
Don’t stoop to these excuses. We can do better than that and today there are fantastic libraries and standards that can help us out. However, let’s see what the above problems mean. Continue reading »
Underscore.js, like jQuery, is a toolbox of utilities. Check out the website for a list of functionality it provides, but I’ll split it into two parts:
As we create software is seems like we come in contact with the same patterns over and over. Usually, we end up re-writing them over and over as well. Take an array of user objects, each with a
username property. We need an array of all the usernames from all the objects. So, like many times before, we create a new array to populate, create a for loop, snag the object at the current index, grab the username and push it into the array.
To me, that’s boring. It’s mundane. Underscore makes it fun again. With Underscore, we just use pluck():
var usernames = _.pluck(users, 'username');
Ah…concise, fast, and boilerplate is gone. Want to find all objects within an array that pass a specific test? Use the
filter() function. Just want a reference to the first one that passes the test? Use the
find() function. Want to retrieve the union of two arrays, that is, retrieve a single array of all unique objects contained within multiple other arrays? Try the
union() function. Merge properties of multiple objects into a single object? Use
Once you grasp the power of Underscore you’ll find yourself being more productive with less code while having more fun. Some have called it the bowtie for jQuery’s tux. I concur. Continue reading »