Lo-Dash v1.2.0
A utility library delivering consistency, customization, performance, & extras.
Download
Dive in
We’ve got API docs, benchmarks, and unit tests.
For a list of upcoming features, check out our roadmap.
Resources
For more information check out these articles, screencasts, and other videos over Lo-Dash:
Features
- AMD loader support (RequireJS, curl.js, etc.)
- _(…) supports intuitive chaining
- _.at for cherry-picking collection values
- _.bindKey for binding “lazy” defined methods
- _.cloneDeep for deep cloning arrays and objects
- _.contains accepts a
fromIndex
argument - _.debounce and _.throttle accept an
options
argument for more control - _.createCallback to customize how callback arguments are handled and support callback shorthands in mixins
- _.findIndex and _.findKey for finding indexes and keys of collections
- _.forEach is chainable and supports exiting iteration early
- _.forIn for iterating over an object’s own and inherited properties
- _.forOwn for iterating over an object’s own properties
- _.isPlainObject checks if values are created by the
Object
constructor - _.merge for a deep _.extend
- _.parseInt for consistent cross-environment behavior
- _.partial and _.partialRight for partial application without
this
binding - _.runInContext for easier mocking and extended environment support
- _.support to flag environment features
- _.template supports “imports” options, ES6 template delimiters, and sourceURLs
- _.unzip as the inverse of _.zip
- _.where supports deep object comparisons
- _.clone, _.omit, _.pick,
and more… accept
callback
and thisArg
arguments - _.contains, _.size, _.toArray,
and more… accept strings
- _.filter, _.find, _.map,
and more… support “_.pluck” and “_.where”
callback
shorthands
Support
Lo-Dash has been tested in at least Chrome 526, Firefox 219, IE 6-10, Opera 9.25~12, Safari 3-6, Node.js 0.4.8-0.10.4, Narwhal 0.3.2, PhantomJS 1.9.0, RingoJS 0.9, and Rhino 1.7RC5.
Installation and usage
In browsers:
<script src="lodash.js"></script>
Using npm
:
npm install lodash
npm install -g lodash
npm link lodash
To avoid potential issues, update npm
before installing Lo-Dash:
npm install npm -g
In Node.js and RingoJS ≥ v0.8.0:
var _ = require('lodash');
var _ = require('lodash/dist/lodash.underscore');
Note: If Lo-Dash is installed globally, run npm link lodash
in your project’s root directory before requiring it.
In RingoJS ≤ v0.7.0:
var _ = require('lodash')._;
In Rhino:
load('lodash.js');
In an AMD loader like RequireJS:
require({
'paths': {
'underscore': 'path/to/lodash'
}
},
['underscore'], function(_) {
console.log(_.VERSION);
});
Release Notes
v1.2.0
- Added
_.unzip
- Added an
options
argument to _.debounce
and _.throttle
- Allowed non-
underscore
builds to include _.findWhere
and _.chain
- Ensured “Arrays” and “Objects” category methods work with
arguments
objects and arrays respectively - Ensured build utility runs on Windows
- Ensured
underscore
build versions of “isType” methods align with Underscore - Ensured methods avoid issues with the
__proto__
property - Ensured
_.isEqual
uses a callback
only if it’s a function - Ensured
_.merge
applies a callback
to nested properties - Ensured
_.merge
passes the correct callback
arguments when comparing objects - Made Lo-Dash work with Browserify
- Removed method compilation from the
modern
build
The full changelog is available here.
BestieJS
Lo-Dash is part of the BestieJS “Best in Class” module collection. This means we promote solid browser/environment support, ES5+ precedents, unit testing, and plenty of documentation.
Author
Contributors