Array类型传送门:
声明与属性
添加与删除
数组项操作和位置查找
重排序
迭代与归并
一.直接反转
reverse() 方法: 无参数,直接作用于原数组
var values = [1,2,3,4,5];
values.reverse();
alert(values); //5,4,3,2,1
二.排序
sort() 方法: 直接作用于原数组
无参数时—–调用 toString() 方法转换数组项值为string,比较首字符的ASCII码
参数为 比较 函数时—–可以达到升序或降序的效果
/*无参数时*/
var values = [0,1,5,10,15];
values.sort();
alert(values); //0,1,10,15,5
/*函数作为参数时*/
function compareAsc(value1,value2){
if(value1<value2){
return -1;
}
else if(value1>value2){
return 1;
}
else{
return 0;
}
}
function compareDesc(value1,value2){
if(value1<value2){
return 1;
}
else if(value1>value2){
return -1;
}
else{
return 0;
}
var values1 = [5,1,0,10,15];
values1.sort(compareAsc);
alert(values1); //0,1,5,10,15
var values2 = [5,1,0,10,15];
values2.sort(compareDesc);
alert(values2); //15,10,5,1,0
为什么 compare函数这么写就可以升降序排列?——这是JS中的设计模式