In most programming languages numbers are sorted as numbers. But in JavaScript we find that numbers are sorted as strings. So 10 comes before 2 because 1 comes before 2.
var numbers = [-1, 100, 10, 1, 2, 3];
// Numbers are sorted as strings by default.
numbers.sort();
console.log(
"SORT 1: " + numbers);
// This function sorts numbers.
// ... We compare two numbers by subtracting one from the other.
var compare = function(a, b) {
return a - b;
};
// Sort numbers in a numeric way.
numbers.sort(compare);
console.log(
"SORT 2: " + numbers);
SORT 1: -1,1,10,100,2,3
SORT 2: -1,1,2,3,10,100