原生JS对数组进行排序sort()方法

sort()方法可以对数组进行排序,

假如我们有如下数组:

  1. var arr = [3600, 5010, 10100, 801,1,10,"xxab","admin"];

默认情况下我们使用sort()方法是按照从小到大的方法进行排序的如下:

  1. var arr = [3600, 5010, 10100, 801,1,10,"xxab","admin"];
  2. arr.sort();
  3. //[1, 10, 10100, 3600, 5010, 801, "admin", "xxab"]
  4. console.log(arr); //从小到大排列

当我们需要从大到小进行排序的时候我们需要在sort()方法中传入一个排序方法即可,完整代码如下:

  1. function NumDescSort(a,b){
  2. return b - a;
  3. }
  4. var arr = [3600, 5010, 10100, 801,1,10,"xxab","admin"];
  5. arr.sort(NumDescSort);
  6. console.log(arr); //从大到小排列
  7. //[10100, 5010, 3600, 801, 10, 1, "admin", "xxab"]

传入方法也可以实现从小到大,下面的方法和直接调用sort()实现效果相同。

  1. function NumAscSort(a,b){
  2. return a - b;
  3. }
  4. var arr = [3600, 5010, 10100, 801,1,10,"xxab","admin"];
  5. arr.sort(NumAscSort);
  6. console.log(arr);//从小到大排列
  7. //[1, 10, 801, 3600, 5010, 10100, "admin", "xxab"]

评论: