数组中已经存在的两个可以直接用来重排序的方法:sort() 和 reverse()。
reverse()
会反转数组顺序
var values = [0,1,2,3,4,5];
values.reverse();
alert(values); //5,4,3,2,1,0
但是会受数据以影响不够灵活;
sort()
默认按升序排列数组项;
sort()方法会电泳每个数组项的toString()方法,然后比较得到的字符串,以确定如何排序。
var values = [0,1,5,10,15];
values.sort();
alert(values); //0,1,10,15,5
即使例子中值得顺序没问题,但sort()方法会根据测试字符串的结果改变原来的顺序,虽然数值5小于数值10,但在字符串比较式,"10"则位于"5"之前。解决方法
function compare(value1, value2){
if(value1 < value2){
return -1
}else if(value > value2){
return 1
}else{
return 0
}
}
这个例子适用于大多数数据类型
var values = [0,1,5,10,15];
values.sort(compare);
alert(values); //0,1,5,10,15