_.where

where_.where(list, properties) Looks through each value in the list, returning an array of all the values that contain all of the key-value pairs listed in properties. _.where(listOfPlays, {author: "Shakespeare", year: 1611}); => [{title: "Cymbeline", author: "Shakespeare", year: 1611}, {title: "The Tempest", author: "Shakespeare", year: 1611}]

_.value

value_.chain(obj).value() Extracts the value of a wrapped object. _.chain([1, 2, 3]).reverse().value(); => [3, 2, 1]

_.zip

zip_.zip(*arrays) Merges together the values of each of the arrays with the values at the corresponding position. Useful when you have separate data sources that are coordinated through matching array indexes. Use with apply to pass in an array of arrays. If you're working with a matrix of nested arrays, this can be used to transpose the matrix. _.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]); => [["moe", 30, true], ["larry", 40, false], ["curly", 50, false]]

_.values

values_.values(object) Return all of the values of the object's own properties. _.values({one: 1, two: 2, three: 3}); => [1, 2, 3]

_.wrap

wrap_.wrap(function, wrapper) Wraps the first function inside of the wrapper function, passing it as the first argument. This allows the wrapper to execute code before and after the function runs, adjust the arguments, and execute it conditionally. var hello = function(name) { return "hello: " + name; }; hello = _.wrap(hello, function(func) { return "before, " + func("moe") + ", after"; }); hello(); => 'before, hello: moe, after'

_.without

without_.without(array, *values) Returns a copy of the array with all instances of the values removed. _.without([1, 2, 1, 0, 3, 1, 4], 0, 1); => [2, 3, 4]

_.uniqueId

uniqueId_.uniqueId([prefix]) Generate a globally-unique id for client-side models or DOM elements that need one. If prefix is passed, the id will be appended to it. _.uniqueId('contact_'); => 'contact_104'

_.toArray

toArray_.toArray(list) Creates a real Array from the list (anything that can be iterated over). Useful for transmuting the arguments object. (function(){ return _.toArray(arguments).slice(1); })(1, 2, 3, 4); => [2, 3, 4]

_.unzip

unzip_.unzip(array) The opposite of zip. Given an array of arrays, returns a series of new arrays, the first of which contains all of the first elements in the input arrays, the second of which contains all of the second elements, and so on. _.unzip([["moe", 30, true], ["larry", 40, false], ["curly", 50, false]]); => [['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]]

_.union

union_.union(*arrays) Computes the union of the passed-in arrays: the list of unique items, in order, that are present in one or more of the arrays. _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]); => [1, 2, 3, 101, 10]