Former-commit-id: 346b2f7c55e3d0eb3b86f19c05fa9964f998b483
Lo-Dash v0.1.0
Lo-Dash, from the devs behind jsPerf.com, is a drop-in replacement for Underscore.js that delivers performance improvements, bug fixes, and additional features.
Lo-Dash's performance is gained by avoiding slower 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.
Screencasts
For more information check out these screencasts over Lo-Dash:
Documentation
The documentation for Lo-Dash can be viewed here: http://lodash.com/docs
Underscore's documentation may also be used.
For a list of upcoming features, check out our roadmap.
For a summary of bug fixes, changes, features, and optimizations, check out /wiki/The-Low-Down.
Features
Lo-Dash comes with AMD loader support, chainable _.forEach, lazy _.bind, and more...
Custom builds
Custom builds make it easy to create lightweight versions of Lo-Dash containing only the methods you need. We handle all the method dependency and alias mapping for you.
Custom builds may be created in two ways:
- Use the
includeargument to pass the names of the methods to include in the build.
node build include=each,filter,map,noConflict
node build include="each, filter, map, noConflict"
- Use the
excludeargument to pass the names of the methods to exclude from the build.
node build exclude=isNaN,union,zip
node build exclude="isNaN, union, zip"
Custom builds are saved to lodash.custom.js and lodash.custom.min.js.
Installation and usage
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);
});
Cloning this repo
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!
Footnotes
-
Lo-Dash has been tested in at least Chrome 5-19, Firefox 1.5-12, IE 6-9, Opera 9.25-11.64, Safari 3.0.4-5.1.3, Node.js 0.4.8-0.6.18, Narwhal 0.3.2, RingoJS 0.8, and Rhino 1.7RC3.
-
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.