You are viewing a single thread.
View all comments View context
14 points

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.

permalink
report
parent
reply
58 points
*

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]

permalink
report
parent
reply
5 points

Holy shit that’s actually true. I just tried it

permalink
report
parent
reply
2 points

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

permalink
report
parent
reply
1 point

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

permalink
report
parent
reply

Programmer Humor

!programmer_humor@programming.dev

Create post

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics

Community stats

  • 3.3K

    Monthly active users

  • 1K

    Posts

  • 38K

    Comments