语法:数组名.sort(sortby)
参数sortby 可选,用来规定排序的顺序,但必须是函数。
默认情况下 sort() 按照字符串顺序对数组进行排序。
例1
var arr=['Apple', 'Banana','Aa' ,'bAnana','Mango', 'Orange'];
arr.sort();
运行结果
['Aa', 'Apple', 'Banana', 'Mango', 'Orange', 'bAnana']
例2
var arr=[8,9,33445,654,-10,-1,-25,-2];
arr.sort();
运行结果
[-1, -10, -2, -25, 33445, 654, 8, 9]
此时“8”大于“654” 是因为“8”大于“6”
所以如果直接使用默认的方法对数值排序时会出现错误。
为了避免对数值排序时出现错误,需要一个方法作参数进行修正。
这个方法有两个参数。分别代表每次排序比较时的两个数组项。sort()排序时每次比较两个数组项都会执行这个参数,并把两个比较的数组项作为参数传递给这个方法。
当该方法返回值为1的时候就交换两个数组项的顺序,否则就不交换。
例