Array.sort(function(a,b){return a-b})对数组进行排序
我就一直不明白,为啥 return a-b 是升序,return b-a 就是降序?看了好几个讲原理的太复杂了也没看明白,但是!我掌握了一种特殊的技巧去记忆!a-b别读a减b,读a至b,在字母表中,a至b是递增的,所以 return a-b 是升序。反之,return b-a 就是降序。...
·

我就一直不明白,为啥 return a-b 是升序, return b-a 就是降序?
看了好几个讲原理的太复杂了也没看明白,但是!我掌握了一种特殊的技巧去记忆!
a-b别读a减b,读a至b,在字母表中,a至b是递增的,所以 return a-b 是升序。反之,return b-a 就是降序。
如果想探究背后的原理,可以看一下 Array.prototype.sort() 的API
如果看了上面这个还不懂,再去看一下sort函数在v8引擎内部实现的方式,搜一下 InnerArraySort 函数

更多推荐




所有评论(0)