数组排序

原创 2015年11月18日 17:42:11

使用JS的代码

   <script>
      function NumAscSort(a,b){return a - b;}
      function NumDescSort(a,b){return b - a;}
            var objarr = [21,12,17,58,5,19,87,2,76,8];  
            $(".arr").click(function  () {
                $(".p1").text(objarr.sort(NumAscSort)  )
            })
            $(".arr2").click(function  () {
                $(".p2").text(objarr.sort(NumDescSort)  )
            })
      </script>

sort() 方法用于对数组的元素进行排序。
arrayObject.sort(fun) 注: 参数fun必须是函数
常用参数:

1.升序

function asc(a,b)
{
return a-b
}

2.降序

function desc(a,b)
{
return b-a
}

3.随机

function rand()
{
return .5-Math.random();
}

4.奇-偶

function odd_even(a)
{
return .5-a%2 // a%2-.5 则为 偶-奇
}

使用JQ的思路:
循环目标数组A数组,取出最小值放到B数组中,将此值从A数组中删掉。重复动作,直到A数组中没有元素。

代码如下

<script>
        var objarr = [21,12,17,58,5,19,87,2,76,8];
        var objarr2 = [21,12,17,58,5,19,87,2,76,8];     
        var len  = objarr.length;
        var newarr =[];
        if ( objarr.length !=0  ) {
          for (var i=0;i<len;i++ ) {
            var mina= Math.min.apply(null , objarr);
            newarr[i]=mina;
            objarr.splice( $.inArray(mina,objarr ) ,1 );
           }
        }
        console.log(newarr );   
        </script>

网址直接看效果:
http://www.webmxx.com/myweb/example/clickli.html

收藏助手
不良信息举报
您举报文章:数组排序
举报原因:
原因补充:

(最多只允许输入30个字)