JavaScript数组排序

JavaScript数组排序教程

JavaScript 中,我们可以使用 sort 函数,实现对 数组 的元素进行排序,sort 函数会修改原来的数组。

JavaScript sort()方法详解

定义

sort() 方法用于对数组的元素进行排序,排序顺序可以是字母或数字,并按升序或降序。

语法

array.sort(sortfunction);

参数

参数 描述
sortfunction 可选。规定排序顺序。必须是函数。

返回值

对数组的引用。请注意,数组在原数组上进行排序,不生成副本。

技术细节

该函数只支持 JavaScript 1.1 即以上版本。

说明

使用数字排序,你必须通过一个函数作为参数来调用。函数指定数字是按照升序还是降序排列。同时,该函数会修改原来的数组。

案例

数组排序

使用 sort 方法实现数组排序

<!DOCTYPE html> <html> <head> <title>JavaScript sort方法</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); var arr = ["Hello", "HaiCoder", "Hello", "JavaScript"]; var reverseArr = arr.sort(); console.log("arr =", arr); console.log("reverseArr =", reverseArr); </script> </head> </html>

程序运行后,控制台输出如下:

54_Javascript数组排序.png

我们首先创建了一个数组 arr,接着,我们使用数组的 sort 方法,实现对数组进行排序,并且使用 reverseArr 接受排序后的数组。

最后,我们打印原来的数组和返回后的数组,我们发现,原来的数组已经被修改了,同时,返回的数组也是排序好的数组。

数组排序

使用 sort 方法实现数组排序

<!DOCTYPE html> <html> <head> <title>JavaScript sort方法</title> <script type="text/javascript"> console.log("嗨客网(www.haicoder.net)"); var arr = [1024, 109, 38, 88, 110]; arr.sort(); console.log("arr =", arr); function sortFunc(a, b){ return a - b; } function reverseSortFunc(a, b){ return b - a; } arr.sort(sortFunc); console.log("arr =", arr); arr.sort(reverseSortFunc); console.log("arr =", arr); </script> </head> </html>

程序运行后,控制台输出如下:

55_Javascript数组排序sort.png

我们首先创建了一个数组 arr,接着,我们使用数组的 sort 方法,实现对数组进行排序,结果,我们发现,数组没有排序,因为,如果我们想要使用 sort 对数字数组排序,则需要传入自定义函数。

接着,我们自定了两个排序函数,一个 sortFunc 和一个 reverseSortFunc,同时,我们把这两个函数传入了 sort 函数,最终实现了数组的正序排序和倒叙排序。

JavaScript数组排序总结

在 JavaScript 中,我们可以使用 sort 函数,实现对数组的元素进行排序,sort 函数会修改原来的数组。JavaScript sort() 方法语法:

array.sort(sortfunction);