JavaScript 中的 sort()
方法默认情况下会将数组元素转换为字符串,然后按照 Unicode 码点进行排序。因此,直接使用 sort()
对数字数组进行排序可能不会得到预期的按数字大小排序的结果。为了正确地按数字大小排序,你需要提供一个比较函数作为 sort()
方法的参数。
a
和 b
,并返回一个数值。以下是一个按数字大小进行升序排序的示例:
let numbers = [10, 2, 5, 1, 9];
numbers.sort(function(a, b) {
return a - b;
});
console.log(numbers); // 输出: [1, 2, 5, 9, 10]
如果你想按降序排序,可以这样写:
let numbers = [10, 2, 5, 1, 9];
numbers.sort(function(a, b) {
return b - a;
});
console.log(numbers); // 输出: [10, 9, 5, 2, 1]
如果你遇到了 sort()
方法没有按照数字大小排序的问题,可能是因为没有提供正确的比较函数。确保你的比较函数正确地返回了 a
和 b
的差值。
通过这种方式,你可以确保 sort()
方法按照你期望的数字大小进行排序。
领取专属 10元无门槛券
手把手带您无忧上云