Here’s what they say about themselves:
I just wanted to do a query against some data in memory, and underscore was the perfect answer.
The data I had consisted of a series of books and I wanted to filter out all but the best in each genre, to use with KendoUI. To do so, I needed to create a collection of filters for all the books that were not the highest rated in their genre.
As you can see, the data consisted of a small set of books, each with a rating. My goal was to find all but the highest rated books in each genre and create a filter object for them. To do this, I used underscore in a series of steps.
_.sortBy was passed my entire data set, and sorted based on the book’s rating. I called reverse() on the resulting array to have the highest rated book listed first.
_.groupBy was passed that reverse-sorted collection to group by the genre. The result was an underscore object that contained a collection of keys (genres) and an associated array of books. I needed this to be in the form of a collection so I called _.map, passing in that object and getting back an array of arrays. The function I passed to _.map, _.rest, excluded the first member of each array (the highest rated).
What I got back from _.map was an array of arrays so I called _.flatten to turn that into a single dimension array. I could then iterate over the array using _.each to create my filters.
|Special thanks to Adam Anderson for his help with debugging my original underscore code.|
Latest posts by Guest Posts (see all)
- Falafel Featured on Moving America Forward hosted by William Shatner - June 28, 2015
- Xamarin: Apple Watch Talking to Parent App - June 24, 2015
- IoT – Top Down - June 23, 2015
- Xamarin: Parsing a CSV File From the Net - June 22, 2015
- Reading CSV Files In Xamarin Forms - June 19, 2015