首页 > 代码库 > 《javascript 高级程序设计》--Array重新排序

《javascript 高级程序设计》--Array重新排序

arry 存在两个可以直接用来重排序的方法:reverse()和sort().

   reverse():会对反转数组项的顺序。

   sort():按升序排列数组项。

      原理:sort方法会调用每一个数组想的toString()转型方法,然后得到的字符串,来确定如何排序。

例子:

var values1 =[0,1,5,10,15];
values1.sort();
console.log(‘sort‘,values1);

结果:sort [0, 1, 10, 15, 5]

如果比较的是数值的那么上述结果就是错误的,但在字符串比较时“10”位于“5”的前面所以顺序就被修改了.

sort()方法可以接受一个比较函数作为参数,以便我们指定哪个值位于哪个值前。

?
1
2
3
4
5
6
7
8
9
10
11
12
var values1 =[0,1,5,10,15];
function compare(value1,value2){
    if(value1 < value2){
        return -1;
    }else if(value1 > value2){
        return 1;
    }else{
        return 0;
    }
}
values1.sort(compare);
console.log(‘sort‘,values1);

  结果:sort [0, 1, 5, 10, 15];