📜  使用负数对数组进行排序 - Javascript (1)

📅  最后修改于: 2023-12-03 14:49:57.827000             🧑  作者: Mango

使用负数对数组进行排序 - Javascript

在Javascript中,可以使用内置的sort()方法对数组进行排序。但是,当数组中包含负数时,可能会遇到问题。本文将介绍如何使用sort()方法对包含负数的数组进行排序。

使用负数排序

使用sort()方法对数组进行排序时,默认情况下是按照字符串顺序进行排序的。例如,如果将[-2, 1, -10, 8]输入sort()方法中,则输出会按照字符串顺序排序,即[-10, -2, 1, 8]。

let arr = [-2, 1, -10, 8];
arr.sort();
console.log(arr); // [-10, -2, 1, 8]

要按数字大小进行排序,我们需要提供一个函数作为参数。该函数将接受两个参数,即要比较的元素,需要比较元素1小于、等于或大于元素2。返回值应该是一个负数、零或正数,分别表示元素1小于、等于或大于元素2。

排序函数

下面是一个排序函数,可以将数组按数字大小进行排序,包括负数:

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

对于上面的[-2, 1, -10, 8]数组,我们可以将该函数传递给sort()方法,以便实现按数字大小排序:

let arr = [-2, 1, -10, 8];
arr.sort(compareNumbers);
console.log(arr); // [-10, -2, 1, 8]
完整代码

下面是完整的Javascript代码,包括定义数组并使用上述函数进行排序:

let arr = [-2, 1, -10, 8];

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

arr.sort(compareNumbers);
console.log(arr); // [-10, -2, 1, 8]
结论

使用内置的sort()方法对负数进行排序需要提供比较函数。该函数应该返回一个负数、零或正数,以便按数字大小进行比较。