Js中的Array.prototype.sort()

发布时间:2024年01月21日

JavaScript中的Array.prototype.sort()方法用于对数组的元素进行排序。默认情况下,它会按照字符串Unicode码点顺序进行排序,因此可能无法按照你期望的方式排序数字或其他自定义对象。

1. 按照字符串Unicode码点顺序排序(默认方式)

let arr = ['c', 'a', 'b'];  
arr.sort(); // 输出 ['a', 'b', 'c']

2. 按照数字顺序排序

如果你想按照数字顺序对数组进行排序,可以提供一个比较函数给sort()方法:

let arr = [3, 1, 2];  
arr.sort(function(a, b) {  
  return a - b;  
}); // 输出 [1, 2, 3]
let arr = [3, 1, 2];  
arr.sort(function(a, b) {  
  return b - a;  
}); // 输出 [3, 2, 1]

或者使用箭头函数:

let arr = [3, 1, 2];  
arr.sort((a, b) => a - b); // 输出 [1, 2, 3]

3. 按照自定义对象属性排序

如果你有一个包含自定义对象的数组,并想根据对象的某个属性进行排序,也可以提供一个比较函数给sort()方法:

let arr = [  
  { name: 'John', age: 23 },  
  { name: 'Jane', age: 21 },  
  { name: 'Rose', age: 25 }  
];  
arr.sort(function(a, b) {  
  return a.age - b.age;  
}); // 按年龄排序,输出:[ { name: 'Jane', age: 21 }, { name: 'John', age: 23 }, { name: 'Rose', age: 25 } ]

文章来源:https://blog.csdn.net/H2608520347/article/details/135700797
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。