arrays.sort()原理
javascript中的sort()函数用于将一个数组中的所有元素排序,sort()函数可以通过自定义函数来传参来调整排序的顺序,也可以不传参数从而按照默认的排序规则(即字符串Unicode码位点顺序)进行排序。
执行sort()函数的过程如下:
首先,sort()函数会判断传入的参数是否是一个函数,如果是函数,则将这个函数作为排序函数,如果参数不是函数,则将其作为一个依据字符串排序的函数。
随后,sort()函数采用快速排序(quick sort)的方法进行排序,quick sort是一个比较高效的排序算法,它采用分治法的思想,以分而治之的方式对数组进行排序。
具体来说,sort()函数会按照以下的步骤对数组进行排序:
(1)首先根据排序函数确定比较变量(也就是将排序函数中所有参数按照字符串Unicode字母顺序保存),并将其作为排序元素,而不是按照数组下标来进行排序
(2)其次,sort()函数会把排序元素从小到大排列,然后如果参数定义的是一个函数,还会对这个函数的参数进行进一步的排序
(3)最后,sort()函数会将排序后的数组重新连接到一起,形成一个新的数组,也就是排序后的数组。
因此,sort()函数是一个可以根据排序函数进行排序的快速排序方法,可以将数组中的所有元素从小到大排序,也可以通过自定义函数对元素进行排序。
字符串函数传参
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论