说明
- 对数组进行排序,会修改原数组
使用方法
参数(选传):
-
参数一:选传。用于定义排序的顺序,是一个函数。
- 如果不传,就会先把数组里边的元素转换成字符串,然后再根据每个字符的Unicode码位值进行排序
-
-
该函数接收两个参数(a,b),然后根据返回值确定升序降序
-
如果用循环来看,
a = arr[i + 1], b = arr[i] -
return a - b:则代表升序
-
因为如果a > b,则返回值大于0,
a在b后,如[b, a] -
return b - a:则代表降序
-
因为如果a > b,则返回值小于0,
a在b前,如[a, b] -
如果他们两个相等,则顺序不变
-
返回值等于0,保持
a和b原来的顺序
-
-
如果需要排序的数组是稀疏数组
- 数组元素是稀疏的 [1, , , , 100000],则空槽元素会被移动到数组的末尾,并排在undefined的后边
返回值:
- 返回的是对同一个对象的引用,也就是指向原数组的内存地址。
- 如果不想修改原数组,可以使用toSorted
- 该方法用法与toSorted一致,只不过该方法返回的是一个新数组,将原数组进行浅拷贝后,返回一个排序过后的新数组