你的位置:首页 > Java教程

[Java教程]JS中数组排序


法一:升序原理:循环嵌套即双向遍历,在从前往后的遍历过程中,如果前一个位子大于后一个位子,把前一个位子的值付给后一个位子,

在从后往前遍历过程中如果前一个值大于后一个的值,把前面的值付给后面,过程中把被赋值位子的值用变量接收在赋值,否则无效。

降序同理

function getNew(a){      for (var i = 0; i < a.length; i++) {        for (var j= a.length - 1; j>= 0; j--) {           if(a[i]>a[i+1]){            var elem=a[i];            a[i]=a[i+1];            a[i+1]=elem;          }else if(a[j-1]>a[j]){            var sm=a[j];            a[j]=a[j-1];            a[j-1]=sm;          }        }      }      console.log(a);    }    getNew([6,2,3,1,10,8]);//[1, 2, 3, 6, 8, 10]

法二:自定义比较器(匿名函数),简单暴力快捷

function getNew(a){      a.sort(function(a,b){return a-b});//升序      //a.sort(function(a,b){return b-a});降序      console.log(a);    }    getNew([6,2,3,1,10,8]);//[1, 2, 3, 6, 8, 10]