sort() 函数可以对数组进行升序排序和降序排序,它会改变原数组。升序排序可以通过不传任何参数或者传入一个空函数来实现:
let arr = [3, 1, 4, 1, 5, 9, 2, 6]; arr.sort(); // [1, 1, 2, 3, 4, 5, 6, 9] arr.sort(function(a, b) { return a - b; }); // [1, 1, 2, 3, 4, 5, 6, 9]
降序排序可以通过传入一个返回值为负数、零或正数的比较函数来实现:
arr.sort(function(a, b) { return b - a; }); // [9, 6, 5, 4, 3, 2, 1, 1]
reverse() 函数可以对数组进行倒序排序,它同样会改变原数组:
arr.reverse(); // [1, 1, 2, 3, 4, 5, 6, 9]
需要注意的是,sort() 函数默认将数组元素转为字符串再进行比较,所以对于数字类型的数组排序时,需要传入一个比较函数,否则会得到不符合预期的结果。