js中的array排序小结

数组中有两个可以重新排序的方法:reverse()和sort()

reverse()

表示反转数组项的顺序

sort()

在默认情况下会按从小到大对数组进行排序,因此如果恰好有个数组arr = [1,10,5,15,5],按照预想,arr.sort()之后顺序应该为[1,5,10,15]。

但是!由于sort()调用的是toString()方法,然后比较得到的字符串。因此在对arr排序时,由于'10'位于'5'的前面,因此运行arr.sort()之后,结果实际为[1,10,15,5,5],所以,为了保持排序的正确性,可以在sort()方法传递一个比较函数,如下:

function compare(num1, num2) {

  return num1 - num2;

};

arr.sort(compare);//结果为[1,5,5,10,15]



参考:《Javascript高级程序设计》(第3版)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容