引言
今天在力扣上刷题,遇到一个数组排序的问题,因为比较懒,所以就使用了Js中自带的sort方法对数组进行排序(其实是我不知道这个方法与手写的排序究竟有什么区别,研究不出来,哪位大神可以留言分享一下原因,谢谢),数组元素为数字,结果排出来的结果如图所示:
可以看到数组经过sort()方法排序后并没有按照顺序排列,思前想后,实在是想不出来,就去看了一下sort()方法的详细解释。
sort()方法是按照被排序数组元素的Unicode编码来进行排序的,所以当数组元素为数字时,就得不到想要的结果,如需对元素为数字的数组排序,则需要在sort()方法的参数中添加一个比较函数,如图所示:
添加过后就能够对元素为数字的数组进行升序排序了!如果需要降序排序的话就只要返回b-a就行。