Js中的Array.prototype.sort()

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 } ]

你可能感兴趣的:(javascript,原型模式,前端)