其他分享
首页 > 其他分享> > 重识Array.sort()

重识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