js sort compare a b参数使用举例


================================================================

下面举几个例子

 

1.

let arr = [1,2,13,0,32,0,24]

arr.sort((a,b)=> -1)  

arr.sort((a,b)=> -1) 

arr.sort((a,b)=> -1) 

 

arr.sort((a,b)=> 1)  

arr.sort((a,b)=> 1)  

arr.sort((a,b)=> 1)   

 

前三个执行会不断倒序,后三个会保持顺序不改变,这是因为,根据文档 返回<0的值,a会排在b前面,(而a是在b后面的),所以会不断倒序

                                                     返回>0的值,b会排在a前面,(而a本来就是在b后面的),所以顺序不变

 

 

 

 

 

 

2.

 

nums.sort((a,b)=>a===0? 1: -1 ) // 因为a是靠后面的数,如果a是0的话,返回一个大于0的数,让b排在它前面,如果不是0的话,返回一个小于0的数,让为0的b排在他后面

nums.sort((a,b)=>b===0?-1: 1)   // 因为b是靠前面的数,如果b是0的话,返回一个小于0的数,让a排在它前面,如果不是0的话,返回一个大于0的数,让为0的a排在他后面

posted @ 2022-04-08 02:11  hh9515  阅读(136)  评论(0编辑  收藏  举报