sort函数

128 阅读1分钟
    arr1 = [5,6,5,61,2,3,0]
    s1 = arr1.sort((n1,n2)=>n1-n2)
    console.log(s1)


    arr2 = [{sort:2,id:'aaa'},{sort:4,id:'bbb'},{sort:4,id:'ddd'},{sort:0,id:'ccc'}]
    s2 = arr2.sort((n1,n2)=>n1.so-n2.so)

    console.log(s2)


    arr3 = [4,5,2,8,5,22,66]

    s3 = arr3.sort((n1,n2)=>Math.random() - 0.5)
    console.log(s3)


    /*

            数组的sort函数使用方法
                    arr.sort(fn)

                    sort函数执行时传一个实参函数

                    这个函数的形参接收两位参数 n1,n2 分别对应 遍历的 当前元素 和 下一位元素
                    function (n1,n2){
                            return n1 - n2;
                    }

                    sort函数拿着自己形参函数的返回值 跟 0 作比较 大于零 交换位置  小于等于0 元素原地不动

                            n1 - n2 > 0 条件成立 交换位置
                            n1 - n2 <= 0 条件成立 不交换位置

                            n2 - n1 > 0 条件成立 交换位置
                            n2 - n1 <= 0 条件成立 不交换位置


                    当数组从小到大排序时 n1 - n2
                    当数组从大到小排序时 n2 - n1

                    数组打乱
                            Math.random() 0~1 之间小数 - 0.5  大于0 小于0  各占一半



    */