📌  相关文章
📜  javascript 按升序排序数组 - Javascript (1)

📅  最后修改于: 2023-12-03 15:16:12.287000             🧑  作者: Mango

Javascript 按升序排序数组

在 Javascript 中,我们可以使用 Array.prototype.sort() 方法对数组进行排序。该方法可以接受一个可选的比较函数,用于自定义排序规则。

基本用法

以下为 sort() 方法的基本用法:

const myArray = [3, 2, 1];
myArray.sort();
console.log(myArray); // [1, 2, 3]
自定义排序规则

如果数组中的元素并不都是数字,或者默认排序规则不符合需求,我们可以通过传入一个比较函数来自定义排序规则。

比较函数应该返回一个负数、零或正数,表示第一个参数小于、等于或大于第二个参数。

按数字升序排序

以下为按数字升序排序的示例代码:

const myArray = [3, 2, 1];
myArray.sort((a, b) => a - b);
console.log(myArray); // [1, 2, 3]
按字符串升序排序

以下为按字符串升序排序的示例代码:

const myArray = ['c', 'b', 'a'];
myArray.sort();
console.log(myArray); // ['a', 'b', 'c']
按对象属性升序排序

以下为按对象属性升序排序的示例代码:

const myArray = [
  { name: 'Bob', age: 30 },
  { name: 'Alice', age: 25 },
  { name: 'Charlie', age: 35 }
];
myArray.sort((a, b) => a.age - b.age);
console.log(myArray);
// [
//   { name: 'Alice', age: 25 },
//   { name: 'Bob', age: 30 },
//   { name: 'Charlie', age: 35 }
// ]
注意事项

在默认情况下,sort() 方法会将元素转换为字符串,然后基于字符串进行排序。因此,在按数字排序时应该使用比较函数,否则会出现以下错误结果:

const myArray = [3, 21, 2];
myArray.sort();
console.log(myArray); // [2, 21, 3]