前言
在 JavaScript 中,Array.prototype.sort()
方法用于对数组的元素进行排序。这个方法会改变原数组的顺序,并返回排序后的数组。如果没有提供比较函数,那么数组元素会转换为字符串,并按照字符的 Unicode 码点顺序进行排序。
排序规则
比较函数接收两个参数,通常命名为 a
和 b
,这两个参数是要进行比较的数组元素。
比较函数应该返回一个数值,这个数值决定了 a
和 b
的排序顺序:
- 如果比较函数返回一个小于 0 的值,那么
a
会被排在b
前面。 - 如果比较函数返回 0,那么
a
和b
的顺序不变。 - 如果比较函数返回一个大于 0 的值,那么
b
会被排在a
前面。
例子1
const numbers = [40, 1, 5, 200];
// 使用比较函数对数组进行排序
numbers.sort((a, b) => a - b);
console.log(numbers); // 输出: [1, 5, 40, 200]
例子2
如果 要比较的对象是数组套着数组
那就先把要比较的值取出来比较
result.sort((a,b)=> b[1] - a[1]);