_.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]

_.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]

_.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'

_.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]]

_.unique

uniq_.uniq(array, [isSorted], [iteratee]) Alias: unique Produces a duplicate-free version of the array, using === to test object equality. In particular only the first occurence of each value is kept. If you know in advance that the array is sorted, passing true for isSorted will run a much faster algorithm. If you want to compute unique items based on a transformation, pass an iteratee function. _.uniq([1, 2, 1, 4, 1, 3]); => [1, 2, 4, 3]

_.unescape

unescape_.unescape(string) The opposite of escape, replaces &, <, >, ", ` and ' with their unescaped counterparts. _.unescape('Curly, Larry & Moe'); => "Curly, Larry & Moe"

_.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]

_.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]