//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));