用法一:以字母顺序对数组进行排序
var stringArr= ["Banana", "Orange", "Apple", "Mango"]
stringArr.sort() // ["Apple", "Banana", "Mango", "Orange"]
用法二:数字排序
当直接使用sort() 方法对数字进行排序时,会出现不正确的结果,因为sort() 方法默认使用字母顺序排序,例如:
var numsArr = [100, 23, 13, 90, 34, 0, 2]
numsArr.sort() // [0, 100, 13, 2, 23, 34, 90]
可以通过 比值函数 来修正此问题
比值函数:
function(a, b){return a-b}
目的:定义另一种排序顺序
结果:返回一个负数、零或者正数
当sort() 函数比较两个值时,会将值发送到比值函数,并根据返回的结果(负数、零或者正数)对值进行排序
具体用法:
1、数字升序排序
var numsArr = [100, 23, 13, 90, 34, 0, 2]
numsArr.sort(function(a, b){return a - b}) // [0, 2, 13, 23, 34, 90, 100]
2、数字降序排序
var numsArr = [100, 23, 13, 90, 34, 0, 2]
numsArr.sort(function(a, b){return b - a}) // [100, 90, 34, 23, 13, 2, 0]
3、数字随机排序
var numsArr = [100, 23, 13, 90, 34, 0, 2]
numsArr.sort(function(a, b){return 0.5 - Math.random()}) // [90, 2, 13, 23, 34, 0, 100]