madfour / blog-docs

一个备忘录罢了
https://madfour.cn
MIT License
5 stars 0 forks source link

使用 sort() 对数组 [3, 15, 8, 29, 102, 22] 进行排序,输出结果 #19

Open madfour opened 3 years ago

madfour commented 3 years ago

sort 函数,可以接收一个函数,返回值是比较两个数的相对顺序的值 1、默认没有函数 是按照 UTF-16 排序的,对于字母数字则是按照 ASCII 进行排序

 [3, 15, 8, 29, 102, 22].sort();

// [102, 15, 22, 29, 3, 8]

2、带函数的比较

 [3, 15, 8, 29, 102, 22].sort((a,b) => {return a - b});

// [3, 8, 15, 22, 29, 102]

对于函数体返回 b-a 可以类比下面的返回值进行交换位置:

返回值大于0 即a-b > 0 , a 和 b 交换位置

返回值大于0 即a-b < 0 , a 和 b 位置不变

返回值等于0 即a-b = 0 , a 和 b 位置不变