The sort () method is used to sort elements of an array. Syntax: Arrayobject.sort (sortby), parameter SortBy Optional. Specifies the sort order. Must be a function. Note: If the method is called without parameters , the elements in the array are sorted alphabetically, more precisely, by the order in which the characters are encoded . To do this, you should first convert the elements of the array to a string, if necessary, for comparison.
If you want to sort by other criteria, you need to provide a comparison function that compares two values and returns a number that describes the relative order of the two values. The comparison function should have two parameters A and B with the following return values:
If a is less than B, a value that is less than 0 is returned if a should appear before B in the sorted array.
If a equals B, 0 is returned.
If a is greater than B, a value greater than 0 is returned. As Example 3.
Example 1: We will create an array and sort alphabetically:
<ScriptType="Text/javascript" >
var arr = new array (6)
Arr[0] = "George"
Arr[1] = "John"
Arr [2] = "Thomas"
Arr[3] = "James"
Arr[4] = "adrew"
Arr[5] = "Martin"
document.write ( arr + "<br/>")
document.write (Arr.sort ())
</SCRIPT>
Output:
George,John,Thomas,James,Adrew,MartinAdrew,George,James,John,Martin,Thomas
Example 2: We will create an array and sort alphabetically:
<Scripttype= "Text/javascript" >var arr = new array (6) arr[0] = " ten "Arr[1] = "5" Arr[2] = "Max" Arr[3] = " Arr[4] = "1000 "Arr[5] = " 1 "document.write (arr + "<br/>") document.write (Arr.sort ()) </ Script>
Output:
10,5,40,25,1000,11,10,1000,25,40,5
例3:
Note that the above code does not sort numbers by numeric values, and to do this, you must use a sort function:
<ScriptType="Text/javascript" >functionSortnumber(A, B) {return -A-B } var arr = new Array (6) arr[0] = " ten "Arr[1] = "5" Arr[2] = "Max" Arr[3] = " Arr[4] = "1000 "Arr[5] = " 1 "document.write (arr + "<br/>") document.write (Arr.sort (sortnumber)) </ SCRIPT>
Output:
10,5,40,25,1000,11,5,10,25,40,1000
Example 4: Sorting numbers from large to small
Numarr.sort (function compare (A, b) {return b-a
</script>
Results:
34 23 23 12 5 4 2 1
My understanding is that if the result of the comparison function returns a positive value, the second argument is queued forward, returning a negative value, and the second parameter is temporarily ranked after the first argument.
Reference from:
1190000000410506
Http://www.jb51.net/article/4168.htm
The use of the sort () method in JS, parameters, and sorting principles