_.extendOwn

extendOwn_.extendOwn(destination, *sources) Alias: assign Like extend, but only copies own properties over to the destination object.

_.sortedIndex

sortedIndex_.sortedIndex(list, value, [iteratee], [context]) Uses a binary search to determine the index at which the value should be inserted into the list in order to maintain the list's sorted order. If an iteratee function is provided, it will be used to compute the sort ranking of each value, including the value you pass. The iteratee may also be the string name of the property to sort by (eg. length). _.sortedIndex([10, 20, 30, 40, 50], 35); => 3 var stooges = [{name: 'moe', age:

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

_.partition

partition_.partition(array, predicate) Split array into two arrays: one whose elements all satisfy predicate and one whose elements all do not satisfy predicate. _.partition([0, 1, 2, 3, 4, 5], isOdd); => [[1, 3, 5], [0, 2, 4]]

_.now

now_.now() Returns an integer timestamp for the current time, using the fastest method available in the runtime. Useful for implementing timing/animation functions. _.now(); => 1392066795351

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

_.pairs

pairs_.pairs(object) Convert an object into a list of [key, value] pairs. _.pairs({one: 1, two: 2, three: 3}); => [["one", 1], ["two", 2], ["three", 3]]

_.mapObject

mapObject_.mapObject(object, iteratee, [context]) Like map, but for objects. Transform the value of each property in turn. _.mapObject({start: 5, end: 12}, function(val, key) { return val + 5; }); => {start: 10, end: 17}

_.after

after_.after(count, function) Creates a version of the function that will only be run after first being called count times. Useful for grouping asynchronous responses, where you want to be sure that all the async calls have finished, before proceeding. var renderNotes = _.after(notes.length, render); _.each(notes, function(note) { note.asyncSave({success: renderNotes}); }); // renderNotes is run once, after all notes have saved.

_.isElement

isElement_.isElement(object) Returns true if object is a DOM element. _.isElement(jQuery('body')[0]); => true