javascript 给数组排序
给数组排序是 JavaScript 中一项常见任务,可以通过多种方法实现。
排序方法
JavaScript 提供了以下内置排序方法:
使用 sort()
sort() 方法对数组元素进行原地排序。它使用 Unicode 字符串顺序将元素作为字符串进行比较。
const numbers = [5, 2, 1, 3]; numbers.sort(); // [1, 2, 3, 5]
使用 sort((a, b) => ...)
sort() 的第二个变体允许指定一个比较函数。该函数接收两个数组元素作为参数,并返回一个指示它们相对顺序的值:
例如,以下代码将数组按升序排序:
const numbers = [5, 2, 1, 3]; numbers.sort((a, b) => a - b); // [1, 2, 3, 5]
使用 sort(compareFunction)
sort() 的第三个变体允许指定一个与 sort((a, b) => ...) 类似的比较函数,但以函数的形式。
const compareFunction = (a, b) => a - b; const numbers = [5, 2, 1, 3]; numbers.sort(compareFunction); // [1, 2, 3, 5]
自定义排序
比较函数可以根据需要进行定制,以执行特定的排序规则。例如,可以创建一个比较函数来按降序排序数组:
const compareFunction = (a, b) => b - a; const numbers = [5, 2, 1, 3]; numbers.sort(compareFunction); // [5, 3, 2, 1]
注意
使用 sort() 时,请记住以下事项: