• @[email protected]
    link
    fedilink
    1411 months ago

    Our default sort converts everything to string, then sorts by UTF-16 code. So yes, [1, 10, 3] is sorted and you are going to live with it.

    I’m not sure whether this is satire or not.

    • @[email protected]
      link
      fedilink
      58
      edit-2
      11 months 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
        link
        211 months 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

    • @sociablefish
      link
      111 months ago

      who uses utf 16? people either use utf 8 (for files) or utf 32 (for string class O(1) random access)