immutable-js VS lodash

Compare immutable-js vs lodash and see what are their differences.


Immutable persistent data collections for Javascript which increase efficiency and simplicity. (by immutable-js)


A modern JavaScript utility library delivering modularity, performance, & extras. (by lodash)
Our great sponsors
  • Appwrite - The open-source backend cloud platform
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • Onboard AI - Learn any GitHub repo in 59 seconds
immutable-js lodash
38 177
32,742 58,021
0.1% 0.4%
7.6 6.7
9 days ago 8 days ago
TypeScript JavaScript
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.


Posts with mentions or reviews of immutable-js. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-12.


Posts with mentions or reviews of lodash. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-05.
  • 5 best JavaScript multidimensional array libraries
    4 projects | | 5 Dec 2023
    Lodash is a popular utility library that provides a wide range of methods for dealing with arrays, collections, and objects. Lodash, while not expressly built for multidimensional arrays, may be a useful tool for fundamental array operations.
  • How to secure JavaScript applications right from the CLI
    8 projects | | 24 Oct 2023
    To help you quickly set up a project test with the Snyk CLI, a sample JavaScript project has been made available in this GitHub repository with all the necessary manifest files. The project is a simple quote API that uses Lodash and Express as their dependencies. The quote API has a GET / endpoint that returns a list of quotes and a GET /random endpoint that returns a random quote.
  • Lodash just declared issue bankruptcy and closed every issue and open PR
    7 projects | | 16 Sep 2023
    I don't think isEmpty is O(n) except in the case where the object is a prototype[1] - I assume that's one of those weird JS edge cases - otherwise it does what you expect, which is to iterate with a for-in loop and return on the first iteration, so it is O(1).


    7 projects | | 16 Sep 2023
    lodash/fp is an optional distribution of lodash that did what the core library did, but did so in a more flexible, powerful, composeable way that makes it easier to construct powerful functions. it was separate from the core, but based heavily on it.

    at the time, nothing was settled. we were in a pioneering mode of building; we didn't know what people would find useful or what the future would hold. there were a lot of different ideas floating around, and lodash was trying to stay the same while also offer a port to this barely-subtly-different paradigm, to see what value might be found there. saying that "introduced" it feels like a crude reduction to me; he allowed people the option they asked for.

    i personally think fp - in particular - "pointsfree" fp - has huge down sides to being understandable. but it also is a much more succinct and capable way of expressing things, and multiple times a week i run into situations where auto-currying or reverse args would make the code i write much cleaner & not damage code comprehension.

    rather than call fp a fad, & insult the author for ever letting it in, i think there's room to say that it's sad that js had to stay on the lowest common denominator. the future was unable to be changed, the old ways stuck. we lost some really good opportunity & capabilities. that said, i still think the pointsfree style is hugely damaging & responsible for greatly reducing the chances we had to improve. instead, we're not "moving on", we're going back to square 1, to the only thing we've ever known or done. that makes me a little sad, to have the pioneering pack up & move back into the city.

    7 projects | | 16 Sep 2023
    The bigger news is that Lodash is migrating from Node.js to Bun:
    7 projects | | 16 Sep 2023
    There’s more discussion in this issue:

    Frankly I commend the author. If you’re maintaining one of the most used open source packages, I think it must be overwhelming to get so much feedback. Realistically a team of 4 people probably working full time could manage a package like that and it seems like it’s just one guys side project.

    7 projects | | 16 Sep 2023
    They tagged 363 issues with "issue bankruptcy" and closed them:

    Same for 325 PRs:

  • Invitation to Contribute: Join the Circle of JavaScript Developers in Building a Repository of One-Line Javascript Codes
    2 projects | /r/learnjavascript | 5 Jul 2023
    Hey! Thanks for sharing. I just want to point out that there are some tried and tested libraries out there that solve some of these problems already. You should check out `lodash`( if you haven't already. Also, there is an array method called `splice` that could improve your implementation of `insert` at first glance.
  • How to kickstart automated test suite when there are 0 tests written and the codebase is already huge
    4 projects | | 29 Jun 2023
    Alright, now that I’ve got your interest piqued, let’s delve into the real stuff – tangible examples of Pythagora in action. For the purpose of our demonstration, we selected a well-known open source project, Lodash.
  • 20 Essential Parts Of Any Large Scale React App
    15 projects | | 2 Jun 2023
    lodash : Data manipulation

What are some alternatives?

When comparing immutable-js and lodash you can also consider the following projects:

ramda - :ram: Practical functional Javascript

underscore - JavaScript's utility _ belt


lazy.js - Like Underscore, but lazier

Immer - Create the next immutable state by mutating the current one

mori - ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript

Sugar - A Javascript library for working with native objects.

Mout - Modular JavaScript Utilities

immutability-helper - mutate a copy of data without changing the original source

Rambda - Faster and smaller alternative to Ramda