3345687687876789123
변환 : xxx, xxx, xxx
다음과 같이 코드 코드를 복사하십시오.
<script type = "text/javaScript">
Window.onload = function () {
// 전체 테스트는 나이프로 제공됩니다
var testfun = function (콜백, str) {
var tipelem = overment.createElement ( 'div'),
시작 시간,
지속 시간 = 0;
for (var j = 5; j> 0; j-) {
starttime = +새 날짜 ();
for (var i = 10000; i> 0; i-) {
콜백 ();
}
지속 시간 = (( + new date ()) -StartTime) + 지속 시간;
}
지속 시간 = (지속 시간 / 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) {// uncle
return str.replace (/(.*) (/d {3}) $/, function () {
if (인수 [1] && arguments [2]) {
반환 인수 [1] .replace (/(.*) (/d {3}) $/, arguments.callee)+","+arguments [2];
} 또 다른 {
반환 인수 [0];
}
});
};
var cutr4 = function (str) {// alucelx
str.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) == ","ret.slice (0, e) : ret
}
var cutr8 = function (str) {// [valueof]]]
var s2 = [] .slice.call (str);
for (var i = s2.length-3; i> 0; i- = 3) {
s2.splice (i, 0, ',');
}
return 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 = newstr.length-; i> = 0; i-) {
if (newst.length-i)%4 == 0)
{{
Newstr [i] = ",";;;;
} 또 다른 {
Newstr [i] = str [currentindex ---];
}
}
return newstr.join ( "")
}
var cutr10 = function (str) {// rekey
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;
Return 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);
}, '메소드 9');
testfun (function () {
cutr10 (str);
}, '메소드 10');
}
</스크립트>
새로운 에너지 테스트 결과는 다음과 같습니다.
다음과 같이 코드 코드를 복사하십시오.
방법 총 시간 : 14ms
방법 총 2 시간 : 9ms
방법 총 시간 : 174ms
방법 4 총 시간 : 34ms
방법 5 총 시간 : 39ms
방법 6 총 시간 : 7ms
방법 7 번 총 시간 : 9ms
방법 8 총 시간 : 30ms
방법 9 번의 총 시간 : 14ms
방법 10 총 시간 : 4ms