在大多数场景中我们只是使用普通的基本类型集合的排序,它默认的排序是升序,其实它还接受一个函数参数,即Array.sort(methods),这个methods即是排序规则
<script>
function increasingOrder(a, b) { // 默认规则,升序
return a - b
}
function descendingOrder(a, b) { // 降序
return b - a
}
let arr = [8, 4, 7, 12, 10, 1, 3]
arr.sort(increasingOrder) // [1. 3, 4, 7, 8, 10, 12]
arr.sort(descendingOrder) // [12, 10, 8, 7, 4, 3, 1]
</script>
我们还可以用sort去对一些对象集合进行排序,如下面的例子,按照对象年龄大小进行排序
<script>
let objArr = [
{
name: 'Tom',
age: 16
},
{
name: 'Jerry',
age: 15
},
{
name: 'Spike',
age: 18
}
]
function increasingOrderKey(a, b) { // 升序
return a.age - b.age
}
function descendingOrderKey(a, b) { // 降序
return b.age - a.age
}
objArr.sort(increasingOrderKey)
console.log(objArr)
/**
* [
{ name: 'Jerry', age: 15 },
{ name: 'Tom', age: 16 },
{ name: 'Spike', age: 18 }
]
*/
</script>