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

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

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

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

_.value

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

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

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

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

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