首頁 > web前端 > js教程 > 主體

js 3種歸併操作的實例程式碼_javascript技巧

WBOY
發布: 2016-05-16 17:18:09
原創
853 人瀏覽過

第一個:

複製程式碼程式碼如下:

/**良哥的/**魯軍*/
函數合併(a, b) {
    var aLen = a.length,
        bLen = b.length,
Math     bLen = b.length,
Math     bLen = b.length,
sumLen = aLen bLen,
        結果= [],
        ap = 0,        ap = 0,

        ap = 0,
      
     while (result.length         if (ap             } else {
                       } else if (!(ap             while(bp                 result.push(b[bp ]);
       🎜>            while(ap                 result. push(a[ap ]);
            }
         }
    }
    }
    }
第二個:



複製程式碼


程式碼如下:

/**/***/函數合併(arr1, arr2){    var i = 0;    var j = 0;
    var c = 0;    var len2 = arr2.length;
    var arr = [];
    for(;i arr2[j]  ){
            arr.push( arr2[j] );
               arr.push( arr1[i] );
            我;
        }
        //if(i==len1 || j==len2){
      🎜>
    if(i = =len1){
        //arr = arr.concat(arr2.slice(j));

        for(k=j; k        }
    }

   if(j==len2){
   for ( k=i; k            arr.push( arr1[k] );
      🎜>}



第三種:




複製程式碼


程式碼如下:

/*金銳的*/
function merge(a,b){
    var x = 0;
    var l = 0;
 🎜>    var aLen = a.length;
    var bLen = b.length;

                     l = i;
               ;
            }其他{               
    }           x ;
            }
        
    if(x == a.length){
        for(var y = l; y     }
}else{
        for(var z = x; z             list.p 🎜>    返回清單; }




測試2個集群20W貨物的集群並運行時間都在15毫秒以下。
以下有幾個經驗(在大量操作的時候才能體現,平時不需要做這樣的最佳化。程式碼執行性還是第一原則)

1:吞吐量的concat方法比直接for循環push慢。
2:for循環比while循環快。
3:var a = b || 3; //這種操作很運作

4:中斷,繼續在已確定不需要再循環時很運作。

相關標籤:
js
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板