javascript 中 sort() 的工作原理

js 中 sort() 的工作原理,搞清楚排序到底是怎么回事?就像下面的这个数组:arr = [2,52,8,15,34];  进行排序:arr.sort(function(a,b){return a-b}); 其中a和b将分别在arr中按序取值进行比较(也就是进行a-b)。a-b的结果有三种情况:第一种 小于0,也就是a<b,这时a的索引序号就小于b的索引序号,a排在b的前面;第二种 等于0,也就是a=b,这时排序不发生变化;第三种 大于0,也就是a>b,这时a的索引序号就大于b的索引序号,a排在b的后面;这时也许有人问,你说的是两个值比较,那多个值之间怎么比较?实际上是先两个值比较,之后取较大的值再和后面的数进行比较,如果后面的数依然比这个较大的数小,那么把它先排在较大数的前边,紧接着和之前较小的数再进行比较,就这样依次比较,进行排序!

 

 

posted @ 2017-03-23 09:10  前端怎么着你了  阅读(252)  评论(0编辑  收藏  举报