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排在他后面