重识Array.sort()
作者:互联网
在此之前,只知道
arr.sort((a,b) => a - b) 升序
arr.sort((a,b) => b - a) 降序
也不懂所以然,
今天写着写着就有了新发现和心得,先看下面代码
原来 a, b 分别为 后一项和前一项,
然后发现如果 返回值 为正数 则为升序,反之降序
这里就知道这个简单例子 [1,3,2].sort((a,b) => a-b)
1、 a=3 b=1 a-b>0 所以正序 [1,3, 2]
2、 a=2 b=3 a-b<0 所以为降序 [1,2,3]
最终返回 [1,2,3]
然后再看,数组乱序用 sort 实现
[1,2,3].sort((a,b) => Math.random() > 0.5 ? -1 : 1)
随机数大于 0.5 则返回 -1 ,a,b 这两项 倒序, 反之。。。
标签:sort,arr,重识,降序,0.5,反之,升序,Array 来源: https://www.cnblogs.com/caijinghong/p/14536878.html