A drop-in replacement for Underscore.js that delivers up to 8x performance improvements, bug fixes, and additional features.
For more information check out this screencast over Lo-Dash.
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.
The documentation for Lo-Dash can be viewed here: /doc/README.md
Underscore's documentation may also be used.
For a list of upcoming features, check out our roadmap.
Lo-Dash's performance is gained by avoiding native methods, instead opting for simplified non-ES5 compliant methods optimized for common usage, and by leveraging function compilation to reduce the number of overall function calls.
Lo-Dash comes with AMD loader support baked in, chainable _.each
, and will soon address cross-browser object iteration issues.
In a browser:
<script src="lodash.js"></script>
Via npm:
npm install lodash
In Node.js and RingoJS v0.8.0+:
var _ = require('lodash');
In Narwhal and RingoJS v0.7.0-:
var _ = require('lodash')._;
In Rhino:
load('lodash.js');
In an AMD loader like RequireJS:
// Lo-Dash is defined as an anonymous module so, through path mapping, it can be
// referenced as the "underscore" module
require({
'paths': {
'underscore': 'path/to/lodash'
}
},
['underscore'], function(_) {
console.log(_.VERSION);
});
To clone this repository including all submodules, using Git 1.6.5 or later:
git clone --recursive https://github.com/bestiejs/lodash.git
cd lodash.js
For older Git versions, just use:
git clone https://github.com/bestiejs/lodash.git
cd lodash
git submodule update --init
Feel free to fork and send pull requests if you see improvements!