数组重排和反转

数组中已存在两个用来排序的方法:reverse()和sort()方法

只是用来反转数组的话用reverse方法就可以了

var arr = [1,5,6,42,89,2,1]

arr.reverse();                //反转数组,不够灵活 所以才有了sort()方法

console.log(arr); //[1, 2, 89, 42, 6, 5, 1]

如果要对数组进行排序就需要用sort()方法来做

arr.sort(); 

console.log(arr);              //[1, 1, 2, 42, 5, 6, 89] 这样明显是错的

sort(fun):如果不传函数的话,内置对象会按照字符串Unicode码位点来排序(升序),这样不是我们想要的,所以就需要写一个函数来定义规则

这是一个简单的排序,能满足大多时候的使用

function compare(a,b){                        //升序排序 如果要降序的话就b-a;

return a - b;                              //排序规则按照从小到大 会比对好几次 知道排序成功位置

                                                 //里面其实有

}

上面两种方法的返回值都是经过排序之后的数组

        function compare(a,b){
            if(a<b){
                return -1;
            }else if (a>b){
                return 1;
            }else{
                return 0;
            }
        }

两种排序都可以使用,可以自行选择使用

猜你喜欢

转载自blog.csdn.net/qq_41702660/article/details/81408969