Skip to content

Remove unreasonably slow alternatives to lodash functionsΒ #400

@valadaptive

Description

@valadaptive

I haven't comprehensively looked over the list of alternatives, but just as an example, one of the listed alternatives to _.last(numbers) is:

[].concat(numbers).pop()

It is even listed twice since it "works with undefined/null":

// Native (works even with potentially undefined/null)
[].concat(undefined).pop()

While this code is certainly clever, it's also slow. It creates an entire copy of the source array in memory, and if someone uses this code in a loop, it could easily go quadratic.

I believe that code like this which "prematurely pessimizes" common operations should not be listed as an example.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions