.sort strange behavior

# Cyril Auburtin (a year ago)
[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?

# Damian Senn (a year ago)
# Cyril Auburtin (a year ago)

Oh thanks right, alphabetical order by default so

2017-10-21 15:00 GMT+02:00 Damian Senn <damian.senn at gmail.com>:

# Mark Volkmann (a year 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.