JS中数组的sort()方法

172 阅读1分钟

作用:

sort() 方法用于对数组的元素进行排序

说明:

sort() 方法用于对数组的元素进行排序,并返回数组。默认排序顺序是根据字符串UniCode码。

注意:

当传入参数为空时,为升序。可以传入参数,但必须是函数(测试条件)来得到想要排列的结果。

传入参数:

array.sort(sortby(a, b));

sortby:(比较函数)可选。用来规定排序的顺序,但必须是函数。该函数要有两个比较值,然后返回一个用于说明这两个值的相对顺序的数字。

    若a < b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。

    若a = b,则返回 0。

    若a > b,则返回大于 0 的值


代码:

let arr = [1, 2, 5, 4, 3];
arr.sort((a, b) => b-a);    // 降序

// 实现原理
let arr = [1, 2, 5, 4, 3];
function sort(array, callback){
    for (const n in array){
        for (const m in array){
            if(callback(array[n], array[m]) < 0){
                let temp = array[n];
                array[n] = array[m];
                array[m] = temp;
            }
        }
    }
    return array;
}

arr = sort(arr, function(a, b){
    return b - a;
});
console.table(arr);