We switched from underscore to lodash several months ago, and haven't regretted it. The fact that lodash follows semver is huge. Underscore has introduced serious breaking changes in minor point-releases more than once, which is completely unacceptable for a utility library.
<p><pre><code> The lodash & lodash-compat npm packages now come with modules baked in too.
Perfect for Browserify!
// load the modern build
var _ = require('lodash');
// or a method category
var array = require('lodash/array');
// or a method
var chunk = require('lodash/array/chunk');
</code></pre>
This is great. It combines trust and quality with modularity.
Really nice to see that there's now an auto-curried, function-first version, lodash-fp! I've been really attracted by Ramda JS recently for this reason.<p><a href="https://www.npmjs.com/package/lodash-fp" rel="nofollow">https://www.npmjs.com/package/lodash-fp</a>
Q: "What does it do?"<p>A: "A utility library delivering consistency, modularity, performance, & extras."<p>Q: "Yeah, but what does it do?"<p>A: "Oh, nothing but it does it consistently, modularly and performant. We also have functions for string handling in the extras module."
I followed the link and saw "lodash" for the first time today. Oh, it's a library! With an API! In various formats!<p>I always appreciate it when the top of the project page provides a one-liner explaining just what it is I'm looking at.
Lodash is an incredible accomplishment, and having it vastly improves the Javascript authorship process over the standard library.<p>That being said, I still can't believe we don't have a flatMap:<p><a href="https://github.com/lodash/lodash/issues/812" rel="nofollow">https://github.com/lodash/lodash/issues/812</a>
<a href="https://github.com/jashkenas/underscore/issues/452" rel="nofollow">https://github.com/jashkenas/underscore/issues/452</a> (Underscore repo, but still Mr. Dalton, author of Lodash, opposing.)
I've been playing around with getting Mori[0] more js-like, from more idiomatic function names and argument order (fn as the last argument, released) to playing around with a chaining API. Ideally we should be able to wrap javascript values, manipulate via idiomatic chaining (similar to Lodash), while getting most of the benefits from highly-tuned persistent data structures, lazy sequences, etc.<p>e.g.<p><pre><code> expect(_([1,1,1,1,2,2,3,4,5,6,6]).distinct().conj(7).out()).toEqual([1,2,3,4,5,6,7]);
</code></pre>
Here's a small set of specs showing early ideas <a href="https://github.com/swannodette/mori/blob/8e82b15b35b2989d4a2d5d74c6a23f5bf779ea2f/spec/chain-spec.js" rel="nofollow">https://github.com/swannodette/mori/blob/8e82b15b35b2989d4a2...</a><p>[0] <a href="https://github.com/swannodette/mori" rel="nofollow">https://github.com/swannodette/mori</a>
I've tended to avoid both underscore and lodash because they're both in the slew of monolithic pre-npm libraries, however the lazy evaluation looks interesting. I wouldn't be surprised to find a library that handles lazy eval without all the extra features Lodash brings.
Whoah: "Tested in Chrome 39-40, Firefox 34-35, <i>IE 6-11</i>, Opera 25-26, Safari 5-8"...<p>IE6+ support! I wonder if that's real, full support, or more like a "there are serious bugs we'll probably never fix for old IE".<p>Working with old IE versions is loathsome (but still required for some of us), so libraries that just work there are much appreciated.
For anyone interested in learning more about lodash, Adam Boduch's "Lodash Essentials" book just got released, and covers everything in v3 (he delayed it to make sure it covered v3).<p><a href="https://www.packtpub.com/web-development/lo-dash-essentials" rel="nofollow">https://www.packtpub.com/web-development/lo-dash-essentials</a>
The changelog at <a href="https://github.com/lodash/lodash/wiki/Changelog" rel="nofollow">https://github.com/lodash/lodash/wiki/Changelog</a> gives some nice examples of breaking changes for anyone moving from v2.x
Already submitted: <a href="https://hn.algolia.com/?query=lodash&sort=byPopularity&prefix&page=0&dateRange=last24h&type=story" rel="nofollow">https://hn.algolia.com/?query=lodash&sort=byPopularity&prefi...</a><p>Seems like no one cares. Strange.