js sort() 方法

如果没有提供比较函数作为参数,sort() 方法会将数组元素转换为字符串,然后按照字符串的 Unicode 编码进行排序。这意味着对于数字,它们会先被转换为字符串,然后按照字符串的排序规则进行排序。
比较函数是可选的,并且允许您自定义排序规则。比较函数应该接受两个参数(通常被称为a和b),并返回以下值之一:
如果a应该排在b之前,则返回一个负数。
如果a应该排在b之后,则返回一个正数。
如果a和b相等,或者它们的排序顺序不重要,则返回 0。

以下是sort() 方法的示例用法:

const numbers = [5, 1, 3, 2, 4];
numbers.sort(); // 默认排序
console.log(numbers); // 输出: [1, 2, 3, 4, 5]

const strings = ['banana', 'apple', 'cherry'];
strings.sort(); // 默认排序
console.log(strings); // 输出: ['apple', 'banana', 'cherry']

const objects = [
    { name: 'John', age: 30 },
    { name: 'Alice', age: 25 },
    { name: 'Bob', age: 35 }
];

objects.sort((a, b) => a.age - b.age); // 根据 age 属性排序
console.log(objects);
// 输出:
// [
//     { name: 'Alice', age: 25 },
//     { name: 'John', age: 30 },
//     { name: 'Bob', age: 35 }
// ]

如果想要不改变原数组的排序方法,可以使用 toSorted()。
Array 实例的 toSorted() 方法是 sort() 方法的复制方法版本。它返回一个新数组,其元素按升序排列。


const months = ["Mar", "Jan", "Feb", "Dec"];
const sortedMonths = months.toSorted();
console.log(sortedMonths); // ['Dec', 'Feb', 'Jan', 'Mar']
console.log(months); // ['Mar', 'Jan', 'Feb', 'Dec']

const values = [1, 10, 21, 2];
const sortedValues = values.toSorted((a, b) => a - b));
console.log(sortedValues); // [1, 2, 10, 21]
console.log(values); // [1, 10, 21, 2]

相关推荐

  1. 方 法

    2024-04-10 03:08:01       8 阅读
  2. \__new__()方法

    2024-04-10 03:08:01       34 阅读
  3. QList 方法

    2024-04-10 03:08:01       34 阅读
  4. charCodeAt() 方法

    2024-04-10 03:08:01       40 阅读
  5. ExecuteScalar()方法

    2024-04-10 03:08:01       40 阅读
  6. performClick()方法

    2024-04-10 03:08:01       37 阅读
  7. Go <span style='color:red;'>方法</span>

    Go 方法

    2024-04-10 03:08:01      29 阅读
  8. Go 方法

    2024-04-10 03:08:01       17 阅读

最近更新

  1. 2.Date类型的请求参数

    2024-04-10 03:08:01       0 阅读
  2. 基于antdesign封装一个react的上传组件

    2024-04-10 03:08:01       0 阅读
  3. Leetcode100.判断两颗二叉树是否相同

    2024-04-10 03:08:01       0 阅读
  4. 防止应用调试分析IP被扫描加固实战教程

    2024-04-10 03:08:01       0 阅读
  5. Js- Math对象

    2024-04-10 03:08:01       1 阅读
  6. 基于Unity3D的Rokid AR Glass项目开发实战教程

    2024-04-10 03:08:01       1 阅读
  7. 每日一道算法题 求最小公倍数

    2024-04-10 03:08:01       1 阅读
  8. pycharm插件的安装

    2024-04-10 03:08:01       1 阅读
  9. 配置管理新纪元:Eureka引领分布式服务配置潮流

    2024-04-10 03:08:01       1 阅读

热门阅读

  1. RestTemplate的使用教程

    2024-04-10 03:08:01       15 阅读
  2. [鹤城杯 2021]Crazy_Rsa_Tech(低加密指数广播攻击)

    2024-04-10 03:08:01       20 阅读
  3. Oracle测试10046参数及打印结果

    2024-04-10 03:08:01       17 阅读
  4. Go语言中如何实现继承

    2024-04-10 03:08:01       18 阅读
  5. c++ 根据ip主机号和子网掩码随机生成ip

    2024-04-10 03:08:01       20 阅读