ホームページ >ウェブフロントエンド >jsチュートリアル >js_javascript スキルの 3 種類のマージ操作のコード例
第一种:
while (result.length < sumLen) {
if (ap < aLen && bp < bLen) {
if(a[ap] > b[bp]){
result .push(b[bp ]);
} else {
result.push(a[ap ]);
}
} else if (!(ap < aLen)){
while(bp < bLen){
result.push(b[bp ]);
}
} else if (!(bp < bLen)){
while(ap result.push(a[ap ]);
}
}
}
return result;
}
第二种:
第三种:
if(x == a.length){
for(var y = l; y < bLen; y ){
list.push(b[y]);
}
}else{
for(var z = x; z < aLen; z ){
list.push(a[z]);
}
}
returnリスト;
}
2 つの連続した 20 W の数グループをテストし、所要時間はすべて 15 秒以下でした。
以下にストリップテストがあります (大量の操作では発生する可能性があり、平時にはこのような拡張を行う必要はありません。コードは最初の基準です)1: 数組の concat メソッドは直接循環プッシュに比べて遅い。
2:循環比しながら循環が早いです。
3:var a = b || 3; //この操作には時間がかかります
4: 再循環の必要がないと判断された時間に休憩、続行します。