• Konlanx@feddit.de
      link
      fedilink
      arrow-up
      59
      arrow-down
      1
      ·
      edit-2
      1 year ago

      It’s not. The default sorter does that, because that way it can sort pretty much anything without breaking at runtime. You can overwrite it easily, though. For the example above you could simply do it like this:

      [3, 1, 10].sort((a, b) => a - b)

      Returns: [1, 3, 10]

      • sociablefish@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        The default sorter does that, because that way it can sort pretty much anything without breaking at runtime.

        who the fuck decided that not breaking at runtime was more important than making sense?

        this js example of [1, 3, 10].sort() vs [1, 3, 10].sort((a, b) => a - b) will be my go to example of why good defaults are important