<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                本文實例總結了JS數組排序技巧。分享給大家供大家參考,具體如下: 1、冒泡排序 ~~~ var temp = 0; for (var i = 0; i < array.length; i++) { for (var j = 0; j < array.length - i; j++) { if (array[j] > array[j + 1]) { temp = array[j + 1]; array[j + 1] = array[j]; array[j] = temp; } } } console.log(array); ~~~ 2、sort排序 ~~~ var arrSimple=new Array(1,8,7,6,2,5); arrSimple.sort(); // document.writeln(arrSimple.join()); console.log(arrSimple.join()) ~~~ 3、 快速排序 ~~~ function quickSort(arr){ if(arr.length<=1){//如果數組只有一個數,就直接返回; return arr; } var num=Math.floor(arr.length/2);//找到中間數的索引值,如果是浮點數,則向下取整 var newValue=arr.splice(num,1);//找到中間數的值 var left=[],right=[]; for(var i=0;i<arr.length;i++){ if(arr[i]<newValue){ left.push(arr[i]);//基準點的左邊的數傳到左邊數組 }else{ right.push(arr[i]);//基準點的右邊的數傳到右邊數組 } } return quickSort(left).concat(newValue,quickSort(right));//遞歸不斷重復比較 } console.log(quickSort([31,4,5,52,1,8])); ~~~ 4、希爾排序 ~~~ function shellSort(nums){//希爾排序 var gaps=[5,3,1];//定義間隔區間 for(var g=0;g<gaps.length;g++){//一個一個間隔值開始 for(var i=gaps[g];i<nums.length;i++){//以間隔值遍歷 var temp=nums[i];//選中元素 for(var j=i;j>=gaps[g]&&nums[j-gaps[g]]>temp;j-=gaps[g]){//如果前面一個大于后面一個 nums[j]=nums[j-gaps[g]];//后移 } nums[j]=temp;//填補 } } } function show(nums){//顯示數組 for(var i=0;i<nums.length;i++){ document.write(nums[i]+' '); } document.write('<br>'); } var nums=[6,0,2,9,3,5,8,0,5,4]; show(nums);//6 0 2 9 3 5 8 0 5 4 shellSort(nums);//希爾排序 show(nums);//0 0 2 3 4 5 5 6 8 9 ~~~ 5、插入排序 ~~~ function sort(elements){ //假設第0個元素是一個有序的數列,第1個以后的是無序的序列, //所以從第1個元素開始將無序數列的元素插入到有序數列中 for(var i = 1; i < elements.length; i++){ //升序 if(elements[i] < elements[i-1]){ //取出無序數列中的第i個作為被插入元素 var guard = elements[i]; //記住有序數列的最后一個位置,并且將有序數列位置擴大一個 var j = i - 1; elements[i] = elements[j]; //比大小,找到被插入元素所在的位置 while(j >= 0 && guard < elements[j]){ elements[j+1] = elements[j]; j--; } //插入 elements[j+1] = guard; } } } var elements = [10, 9, 8, 7, 6, 5]; console.log('before: ' + elements); sort(elements); console.log(' after: ' + elements); ~~~ 6、選擇排序: ~~~ function order(arry){ var ary=arry function sorrt() { length = ary.length; for (var i = 0; i < length; i++) { _min = ary[i] k = i for (var j = i + 1; j < length; j++) { if (_min > ary[j]) { _min = ary[j] k = j } } ary[k] = ary[i] ary[i] = _min } return ary; } return {sor:sorrt}; } var k=order([14,12,6,5,18,0,1,3,2]) console.log(k.sor()) ~~~ 附:js中數組(Array)的排序(sort)注意事項 ~~~ var arrDemo = new Array(); arrDemo[0] = 10; arrDemo[1] = 50; arrDemo[2] = 51; arrDemo[3] = 100; arrDemo.sort(); //調用sort方法后,數組本身會被改變,即影響原數組 alert(arrDemo);//10,100,50,51 默認情況下sort方法是按ascii字母順序排序的,而非我們認為是按數字大小排序 arrDemo.sort(function(a,b){return a>b?1:-1});//從小到大排序 alert(arrDemo);//10,50,51,100 arrDemo.sort(function(a,b){return a<b?1:-1});//從大到小排序 alert(arrDemo);//100,51,50,10 ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看