第一种:数组中10以下值的sort默认排序
array.sort();
// sort默认排序数组中小于10的数的升序
let array = [1, 8, 9, 4, 5, 6, 7, 3, 2];
array.sort();
console.log(array);
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
第二种:数组中10以上的值的排序
升序:array.sort((a, b) => a - b);
降序:array.sort((a, b) => b - a);
let array = [20, 11, 23, 4, 5, 6, 2, 8, 43, 65, 45, 67];
// 数组中值10以上的排序 回调函数传a,b a-b 升序
// (a,b) => a - b
array.sort((a, b) => a - b);
console.log("升序", array);
// [2, 4, 5, 6, 8, 11, 20, 23, 43, 45, 65, 67]
// 数组中值10以上的排序 回调函数传a,b b-a 降序
// (a,b) => b - a
array.sort((a, b) => b - a);
console.log("降序", array);
// [67, 65, 45, 43, 23, 20, 11, 8, 6, 5, 4, 2]
第三种:数组中对象属性值为数值排序
升序:array.sort((a, b) => a.属性 - b.属性);
降序:array.sort((a, b) => b.属性 - a.属性);
let array = [
{ name: "小凯", age: 20, },
{ name: "小明", age: 15, },
{ name: "小天", age: 26, },
{ name: "小虎", age: 13, },
{ name: "小红", age: 18, },
];
// 数组中对象属性值为数值的排序 回调函数传a,b a.属性 - b.属性 升序
// (a,b) => a.属性 - b.属性
array.sort((a, b) => a.age - b.age);
console.log("升序", array);
// {name: '小虎', age: 13}
// {name: '小明', age: 15}
// {name: '小红', age: 18}
// {name: '小凯', age: 20}
// {name: '小天', age: 26}
// 数组中对象属性值为数值的排序 回调函数传a,b b.属性 - a.属性 降序
// (a,b) => b.属性 - a.属性
array.sort((a, b) => b.age - a.age);
console.log("降序", array);
// {name: '小天', age: 26}
// {name: '小凯', age: 20}
// {name: '小红', age: 18}
// {name: '小明', age: 15}
// {name: '小虎', age: 13}
第四种:数组中对象属性值为日期排序
升序:array.sort((a, b) => (a.属性 > b.属性 ? 1 : -1));
降序:array.sort((a, b) => (a.属性 < b.属性 ? 1 : -1));
let array = [
{ date: "2022-03-19 12:01:00", count: 10, },
{ date: "2022-08-21 04:05:00", count: 10, },
{ date: "2022-05-11 17:02:00", count: 10, },
{ date: "2022-11-19 16:23:00", count: 10, },
{ date: "2022-01-09 02:42:00", count: 10, },
];
// 数组中对象属性值为日期排序 回调函数传a,b a.属性 > b.属性 ? 1 : -1 升序
// (a, b) => (a.属性 > b.属性 ? 1 : -1)
array.sort((a, b) => (a.date > b.date ? 1 : -1));
console.log("升序", array);
// {date: '2022-01-09 02:42:00', count: 10}
// {date: '2022-03-19 12:01:00', count: 10}
// {date: '2022-05-11 17:02:00', count: 10}
// {date: '2022-08-21 04:05:00', count: 10}
// {date: '2022-11-19 16:23:00', count: 10}
// 数组中对象属性值为日期排序 回调函数传a,b a.属性 < b.属性 ? 1 : -1 升序
// (a, b) => (a.属性 < b.属性 ? 1 : -1)
array.sort((a, b) => (a.date < b.date ? 1 : -1));
console.log("降序", array);
// {date: '2022-11-19 16:23:00', count: 10}
// {date: '2022-08-21 04:05:00', count: 10}
// {date: '2022-05-11 17:02:00', count: 10}
// {date: '2022-03-19 12:01:00', count: 10}
// {date: '2022-01-09 02:42:00', count: 10}