Skip to content
🔜
working on that thing you asked about
Block or report user

Report or block ljharb

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse

Pinned

  1. JavaScript Style Guide

    JavaScript 84.2k 16.1k

  2. Node Version Manager - Simple bash script to manage multiple active node.js versions

    Shell 34.2k 3.2k

  3. ECMAScript 5 compatibility shims for legacy (and modern) JavaScript engines

    JavaScript 6.6k 892

  4. A querystring parser with nesting support

    JavaScript 3.9k 328

  5. Tracking ECMAScript Proposals

    7.5k 283

  6. 1
    While attempting to explain JavaScript's `reduce` method on arrays, conceptually, I came up with the following - hopefully it's helpful; happy to tweak it if anyone has suggestions.
    2
    
                
    3
    ## Intro
    4
    JavaScript Arrays have lots of built in methods on their prototype. Some of them *mutate* - ie, they change the underlying array in-place. Luckily, most of them do not - they instead return an entirely distinct array. Since arrays are conceptually a contiguous list of items, it helps code clarity and maintainability a lot to be able to operate on them in a "functional" way. (I'll also insist on referring to an array as a "list" - although in some languages, `List` is a native data type, in JS and this post, I'm referring to the concept. Everywhere I use the word "list" you can assume I'm talking about a JS Array) This means, to perform a single operation on the list as a whole ("atomically"), and to return a *new* list - thus making it much simpler to think about both the old list and the new one, what they contain, and what happened during the operation.
    5
    
                
You can’t perform that action at this time.