美文网首页
数组排序有哪些方式?

数组排序有哪些方式?

作者: hudaren | 来源:发表于2018-08-01 22:47 被阅读0次

    ##**sort排序**

    ##排序的是字母

    var arr = ["a", "b", "A", "B"];

    arr.sort();

    console.log(arr);//["A", "B", "a", "b"]

    因为字母A、B的ASCII值分别为65、66,而a、b的值分别为97、98,所以上面输出的结果是 ["A", "B", "a", "b"] 。

    ##如果数组元素是数字

    比较函数接收两个参数,如果第一个参数应该位于第二个之前则返回一个负数,如果两个参数相等则返回0,如果第一个参数应该位于第二个之后则返回一个正数。

    var arr = [23, 9, 4, 78, 3];

    var compare = function (x, y) {//比较函数

        if (x < y) {

            return -1;

        } else if (x > y) {

            return 1;

        } else {

            return 0;

        }

    }

    console.log(arr.sort(compare));        

    结果为[3, 4, 9, 23, 78],返回了我们想要的结果。如果要按降序排序,比较函数写成这样即可:

    var compare = function (x, y) {

        if (x < y) {

            return 1;

        } else if (x > y) {

            return -1;

        } else {

            return 0;

        }

    }

    ##**冒泡排序**

        var arr=[2,4,1,6,7,8,33,11];

        function sort(array){

    //使用双循环去遍历数组,第一个循环取 array 的一个数据,第二个循环拿上个循环数据的后面一个数据,两个数据进行比较。

            for(var i=0;i

                for(var j=i+1;j

                    if(array[i]>array[j]){

    //如果 array[i] >

                        var num=array[i];

                        array[i]=array[j];

                        array[j]=num;

    }

    }

    }

    //return根据需要可写可不写。

    return array;

    }

    sort(arr);

    相关文章

      网友评论

          本文标题:数组排序有哪些方式?

          本文链接:https://www.haomeiwen.com/subject/znsdvftx.html