数组reverse()和sort()方法

//reverse()反转数组项的顺序,返回反转后的数组
var arr = [1, 2, 3, 4, 5];

arr.reverse();
console.log(arr);//[5, 4, 3, 2, 1] 

//sort()默认按升序排列数组项,可接受一个比较函数作为参数
//将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(toString()方法),以便进行比较。
var arr2 = [1, 2, 5, 7, 3, 4];
var arr3 = ["a", "c", "d", "b"];
console.log(arr2.sort());//[1, 2, 3, 4, 5, 7] 
console.log(arr3.sort());//["a", "b", "c", "d"] 

var arr4 = [1, 12, 3, 4, 35];
console.log(arr4.sort());//[1, 12, 3, 35, 4]

//想要实现真正的升序,可以传入一个比较函数
//比较函数接受两个参数,如果第一个参数应该位于第二个之前,则返回一个负数;如果两个参数相等,则返回0;如果第一个参数应该位于第二个之后,则返回一个正数
var arr5 = [1, 12, 3, 4, 35];

function compare(value1, value2) {
    if (value1 < value2) {
        return -1;
    } else if (value1 > value2) {
        return 1;
    } else {
        return 0;
    }
}
console.log(arr5.sort(compare));//[1, 3, 4, 12, 35]  正常的升序,如果要降序的话,就把返回的值正的改为负的,负的改为正的就行

//当然,如果刚好数组里面的每一项都是数值类型或者其valueOf()方法会返回数值类型的对象类型,可以使用一个更简单的比较函数
var arr6 = [1, 12, 3, 4, 35];
function compare2(value1, value2) {
    return value1 - value2;
}
console.log(arr6.sort(compare2));
原文地址:https://www.cnblogs.com/qiangspecial/p/3123731.html