Sort of method of array in js


Maybe you’ve been using sort of array in javascript.

Maybe you always believed it would give you the right result.

Or so I thought, until one day I saw the following code:


[5,10,1].sort();

Perhaps the results were a bit unexpected. The results are as follows:


[1,10,5]

On closer inspection, the default sort method turns out to be not sort by shaping data, but string matching.

In other words, the 1 in 10 caused the error in the above code.

Of course, there are many solutions, and you can pass the callback function into the sort method.


[5,10,1].sort(function(x,y){
if(x>y) {return 1;
}else{
return -1
}
}
);

So you get what you want.

Accidentally found, to record it, to prevent forgetting.