3345687687876789123
変換:xxx、xxx、xxx
次のようにコードコードをコピーします。
<script type = "text/javascript">
window.onload = function(){
//テスト全体がナイフによって提供されます
var testfun = function(callback、str){
var tipelem = docment.createelement( 'div')、
開始時刻、
持続時間= 0;
for(var j = 5; j> 0; j-){
starttime = +new Date();
for(var i = 10000; i> 0; i-){
折り返し電話 ();
}
duration =(( + new date()) - starttime) + duration;
}
持続時間=(持続時間 / 5).tofixed(0);
tipelem.inerhtml = str + '合計時間:' + duration + 'ms';
document.body.AppendChild(Tipelem);
};
var str = '3345687687876789123';
var cutr1 = function(str){//ナイフ付き
var len = str.length、
lastindex、
arr = [];
while(len> 0){
lastindex = len;
len- = 3;
arr.unshift(str.substring(len、lastindex));
}
return arr.join( '、');
};
var cutr2 = function(str){// abcd
return str.replace(// b(?=(?:/d {3})+$)/g、 '、'、 ');
};
var cutr3 = function(str){//叔父
return str.replace(/(.*)(/d {3})$/、function(){
if(arguments [1] && arguments [2]){
return arguments [1] .replace(/(.*)(/d {3})$/、arguments.callee)+"、"+arguments [2];
} それ以外 {
引数を返す[0];
}
});
};
var cutr4 = function(str){// alucelx
reture split( '')。 ');
};
var cutr5 = function(str){// situ zhengmei
var return = [];
while(str){
str = str.replace(// d {1,3} $/g、function(a){
Ret.Unshift(a)
戻る "" ""
});
}
Ret.Join( "、");
};
var cutr6 = function(str){// situ zhengmei
var n = str.length%3;
if(n){{
return str.slice(0、n) + str.slice(n).ruplace(/(/d {3})/g、 '、$ 1')
} それ以外 {
return str.replace(/(/d {3})/g、$ 1 ')。
}
};
var cutr7 = function(str){// situ zhengmei
var return = ""
for(var i = 0、n = str.length、m = n%3-1; i <n; i ++){
ret += str.charat(i)
if(i%3 === m){
ret += "、"
}
}
var e = ret.length -1
Ret.Charat(e)== "、"?
}
var cutr8 = function(str){// [[valueof]]]
var s2 = [] .slice.call(str);
for(var i = s2.length-3; i> 0; i- = 3){
s2.splice(i、0、 '、');
}
s2.join( "")を返します
}
var cutr9 = function(str){//聞いた
var Newstr = new Array(str.length+ parseint(str.length/3));
Newstr [NewStr.Length-] = str [str.length-];
var currentIndex = str.length-;
for(var i = newtr.length-; i> = 0; i-){
if(newtr.length-i)%4 == 0)
{{
newstr [i] = "、" ;;;
} それ以外 {
NewStr [i] = str [currentIndex ---];
}
}
newtr.join( "")を返す
}
var cutr10 = function(str){// reky
var len = str.length、str2 = ''、max = math.floor(len / 3);
for(var i = 0; i <max; i ++){
var s = str.slice(len -3、len);
str = str.substr(0、len -3);
str2 =( '、' + s) + str2;
len = str.length;
}
str += str2;
strを返します
}
//以下はパフォーマンステストです
testfun(function(){
cutr1(str);
}、 'メソッド1');
testfun(function(){
cutr2(str);
}、 'メソッド2');
testfun(function(){
cutr3(str);
}、 'メソッド3');
testfun(function(){
cutr4(str);
}、 'メソッド4');
testfun(function(){
cutr5(str);
}、 'メソッド5');
testfun(function(){
cutr6(str);
}、 'メソッド6');
testfun(function(){
cutr7(str);
}、 'メソッド7');
testfun(function(){
cutr8(str);
}、 'メソッド8');
testfun(function(){
cutr9(str);
}、 'メソッドナイン');
testfun(function(){
cutr10(str);
}、 'メソッド10');
}
</script>
新しいエネルギーテストの結果は次のとおりです。
次のようにコードコードをコピーします。
方法合計時間:14ミリ秒
方法2つの合計時間:9ミリ秒
方法合計時間:174 ms
方法4合計時間:34ミリ秒
方法5合計時間:39ミリ秒
方法6合計時間時間:7ミリ秒
方法7件の合計時間:9ミリ秒
方法8総時間:30ミリ秒
メソッド9合計時間時間:14ミリ秒
方法10合計時間時間:4ミリ秒