📌  相关文章
📜  如何使用 JavaScript 对数值数组进行排序?

📅  最后修改于: 2022-05-13 01:56:18.586000             🧑  作者: Mango

如何使用 JavaScript 对数值数组进行排序?

JavaScript Array.sort() 方法用于对数组元素进行就地排序并返回排序后的数组。此函数以字符串格式对元素进行排序。它适用于字符串数组,但不适用于数字。例如:如果数字按字符串排序,则“75”大于“200”。
例子:

Input          : [12, 25, 31, 23, 75, 81, 100]
Wrong Output   : [100, 12, 23, 25, 31, 75, 81]
Correct Output : [12, 23, 25, 31, 75, 81, 100]

示例:此示例以字符串格式对数组元素进行排序。

javascript


javascript


javascript


javascript


输出:

Original Array
12,25,31,23,75,81,100

After Sorting in Ascending Order
100,12,23,25,31,75,81

那么,如何对数字数组元素进行排序呢?
有两种方法可以按升序对数字数组进行排序。

  • 使用比较函数
  • 通过创建循环

使用比较函数:我们可以创建一个返回负值、零或正值的比较函数。
句法:

function(a, b){return a - b}

  • 负值 ( a > b) => a 将放在 b 之前
  • 零值 (a == b) => 无变化
  • 正值 (a < b) => a 将放在 b 之后

示例:本示例使用比较函数对数组元素进行升序排序。

javascript


输出:

Original Array
12,25,31,23,75,81,100

After sorting in Ascending order
12,23,25,31,75,81,100

现在,我们想按降序对数组进行排序,而不是更改比较函数。
句法:

function(a, b){return b - a}

  • 负值 ( b < a) => a 将放在 b 之后
  • 零值 (a == b) => 无变化
  • 正值 (b > a ) => a 将放在 b 之前

示例:本示例使用比较函数对数组元素进行降序排序。

javascript


输出:

Original Array
12,25,31,23,75,81,100

After sorting in Ascending order
100,81,75,31,25,23,12

创建循环:我们还可以使用循环对数组元素进行排序。在这里,我们将使用冒泡排序(简单排序技术)对数组元素进行升序排序。
例子:

javascript


输出:

Original Array
1,15,10,45,27,100

Sorted Array
1,10,15,27,45,100