"JavaScript is horrible."
> function byNum(a,b) {return +a>+b}
undefined
> [5, 10, 1].sort(byNum)
[1, 5, 10]
No, it's not. > function byNum(a,b) {return +a>+b}
undefined
> [5, 10, 1].sort(byNum)
[1, 5, 10]
No, it's not. > [10, 1, 5, 1, 10, 10, 1, 5, 5, 5, 10].sort(byNum)
> [10, 10, 5, 1, 10, 1, 1, 5, 5, 5, 10]
The right way is > function byNum(a, b) { return a - b; }Good catch.
See "runaway chain reaction".
[5, 10, 1].sort(function(a, b) { return a - b })
Or, in ES6:
[5, 10, 1].sort((a, b) => { a - b })
That's starting to look pretty nice if you ask me.