/**
*JS里有两个直接用来重排序的方法,reverse()和sort()
* reverse()会反转数组项的顺序
*/
var arr1 = [1,2,3];
console.log(arr1.reverse())//[3,2,1]
/**
*sort()方法,在默认情况下是升序排列数组项,
* sort()方法会调用每个数组项的toString()方法,比较得到的字符串,已确定如何排序
*/
var arr2 = [1,2,5,10,15];
console.log(arr2.sort())//[1, 10, 15, 2, 5]
/**
*上面的数组本身没有问题,但是因为是字符串比较,所以排序就就被修改 ,
* 字符串比较是按位置来的,第一位和第一位比较,第二位和第二位比较的
*/
/**
*sort()方法接收一个参数,是一个比较函数,比较函数接收两个参数,这两个参数就是数组项
* 是否进行交换的判定,是看是否为true
*/
function ascending(a,b){//升序
return a - b;//如果a > b 交换位置,小的在前,大的在后
}
function descending(a,b){//降序
return b - a;// b > a 交换位置,大的在前,小的在后
}
var arr3 = [2,4,1,8,3,6,5,0,9];
console.log(arr3.sort(ascending))//[0, 1, 2, 3, 4, 5, 6, 8, 9]
console.log(arr3.sort(descending))//[9, 8, 6, 5, 4, 3, 2, 1, 0]
reverse()和sort()
最新推荐文章于 2024-07-25 01:43:30 发布