.sort strange behavior
# Damian Senn (7 years ago)
Array#sort does string comparisons by default: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
# Mark Volkmann (7 years ago)
By default sort converts the values to strings and compares there Unicode values. For example, 10 would come before 3. In the first example you are overriding the default sort comparison in a way that is correct for numbers.
R. Mark Volkmann Object Computing, Inc.
[0,1,3,4,7,8,8,9,13,17,22,23,26].concat([16,19,21,22,25,32]).sort((a,b)=>a-b) // [ 0, 1, 3, 4, 7, 8, 8, 9, 13, 16, 17, 19, 21, 22, 22, 23, 25, 26, 32 ] [0,1,3,4,7,8,8,9,13,17,22,23,26].concat([16,19,21,22,25,32]).sort() // [ 0, 1, 13, 16, 17, 19, 21, 22, 22, 23, 25, 26, 3, 32, 4, 7, 8, 8, 9 ]
In the second case, it produces a weirdly sorted array, on node 8, chrome or firefox
What could explain this?