主要由两部分介绍
(1) sort函数的用法
(2)JavaScript在Google Chrome浏览器中使用的排序方法。
一、sort函数的用法
在Js中sort函数是数组的排序方法,该方法会改变自身数据,其具体用法分为两种,分别为带参数和不带参数:
Sort不带参数的方法通常是在数组元素为字符串类型数据时使用,此时数组元素转换为各个字符的Unicode编码进行升序排序。
Sort带参数的方法是通常是针对数值型数组元素其大小关系进行排序。该方法需要传入一个函数来指定排序的方式,函数返回值有以下格式:
//针对数组元素为字符串类型
array.sort()
//针对数组元素为数值类型
array.sort(function(a,b){
return a-b //升序排序
return b-a //降序排序
return a.key-b.key //当数组元素为对象,可以根据对象内部数值进行排序
return b.key-a.key
})
二、JavaScript在Google Chrome浏览器中使用的排序方法。
Javascript在Google Chrome中使用的JavaScript引擎为V8引擎,其sort排序算法有两种,使用哪一种取决于数组的长度。当数组长度<=10时使用插入排序,长度>10时使用的是快速排序。
插入排序基本思路是从数组下标0位置开始,在向后遍历的同时与之前的数组元素进行比较并排序,其平均复杂度为O(n^2),又因为该排序方法不涉及新的数组,是种原地排序方法,空间复杂组为O(1)。快速排序基本思路是在数组中取一个数组元素作为基准值,将和基准值不同的值根据大小分布左右,后再依次递归遍历左右两个部分完成排序,其平均复杂度为O()空间复杂度O(
)~O(n)。