WithCoderWithCoderWithCoder

Javascript数组Array学习之sort()方法(对数组元素进行排序)

本文介绍Javascript数组Array的 sort() 方法。

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

语法

    array.sort( sortfunction )

参数

    sortfunction,可选,用来指定如何排序的可选函数。

返回值

    数组array的引用。注意排序是在原数组中进行排序,没有新建数组。

sort() 方法在原数组中对数组元素进行排序,没有创建新数组。如果在调用 sort() 时不带参数,将按照字母顺序(更精确的说,是字符编码顺序)对数组中的元素进行排序。要实现这一点,首先要把元素转换为字符串(如果有必要的话),以便进行比较。

如果想按照其他顺序来进行排序,就必须提供比较函数,该函数要比较两个值,然后返回一个数组来表明这两个值的相对顺序。比较函数需要接受两个参数a和b,并返回如下值:

1. 一个小于 0 的值。在这种情况下,表示根据排序标准,a 小于 b,在排序后的数组中,a应该排在b的前面。

2. 0,在这种排序下,a和b是相等的。

3. 一个大于 0  的值。在这种情况下,a大于b。在排序后的数组中,a应该排在b的后面。

注意

    1. 数组排序会修改原数组,不会创建新数组。

    2. 数组中的undefined元素会始终排在数组的末尾。即便提供了自定义的比较函数,也是如此,因为undefined值不会传递给提供的比价函数 sortfunction。

举例

    <script>
        var arr = [14325];
        // 对arr进行排序,默认从小到大
        var rest1 = arr.sort();
        console.log(rest1); // 结果为[1, 2, 3, 4, 5]

        var arr1 = [14325];
        // 指定排序函数,按倒序排序
        var rest2 = arr1.sort((ab=> {
            return b - a;
        })
        console.log(rest2); // 结果为[5, 4, 3, 2, 1]
    </script>

欢迎分享交流,转载请注明出处:WithCoder » Javascript数组Array学习之sort()方法(对数组元素进行排序)