• fuck_u_spez@lemmy.fmhy.ml
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago

    I couldn’t believe it, tried it out, what the actual heck? I mean I get all these weird string vs number comparison but sorting actual numbers and this comes out? What kind of drugs were the designers of javascript (or at least this function) on… Who thought it was a good idea to sort numbers lexicographically??

  • towerful@programming.dev
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    1 year ago

    Use stringly-typed everything, and always padStart your numbers.
    Saves running into issues with numbers outside the 52-bit integer range.
    And padding start means you don’t have to worry about pesky sort functions.

    Just don’t do maths. Simple.

    Maybe you could do a manual sort.
    Provide a “captcha” prompt, and ask which comes first in the list… You know, to make sure the user is a human! And you get free sorting.

    • kuneho@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Provide a “captcha” prompt, and ask which comes first in the list… You know, to make sure the user is a human! And you get free sorting.

      I mean, this strangely is a compelling idea…

      • TWeaK@lemm.ee
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        I always try to prove myself human with wrong answers. Typically the first screen is an AI training screen, then the next screen is one the computer knows but wants to see if you know. By answering the first one wrong and the second correct, I’m hoping to poison the data.

    • Swiggles@lemmy.blahaj.zone
      link
      fedilink
      arrow-up
      0
      ·
      1 year ago

      It’s just sorted alphabetically (technically it is the UTF16 code order). To be fair it’s a sane default for most use cases. In JS case you can define a very simple callback to change the behavior to numeric sorting (a,b => a<b). Many other sorters provide a flag instead, but numeric sorting is seldom the default as it is not as useful most of the time in weakly typed languages.