3345687687876789123
Converti en: xxx, xxx, xxx
Copier le code du code comme suit:
<script type = "text / javascript">
window.onload = function () {
// L'ensemble du test est fourni par un couteau
var testfun = fonction (rappel, str) {
var tipeLlem = docment.CreateElement ('div'),
Starm-Hime,
durée = 0;
pour (var j = 5; j> 0; j--) {
startTime = + new Date ();
pour (var i = 10000; i> 0; i--) {
callback ();
}
durée = ((+ new Date ())) - starttime) + durée;
}
durée = (durée / 5) .tofixed (0);
TiveLelem.inerhtml = Str + 'Temps total:' + Durée + 'MS';
Document.Body.ApendChild (espionm);
};
var str = '3345687687876789123';
var cutr1 = fonction (str) {// avec un couteau
var len = str.length,
LastIndex,
arr = [];
While (len> 0) {
LastIndex = len;
len- = 3;
Arr.unshift (str.substring (Len, LastIndex));
}
Return arr.join (',');
};
var cutr2 = fonction (str) {// abcd
Return str.replace (// b (? = (?: / D {3}) + $) / g, ',', ');
};
var cutr3 = fonction (str) {// oncle
Return str.replace (/(.*) (/ d {3}) $ /, function () {
if (arguments [1] && arguments [2]) {
Return arguments [1] .replace (/(.*) (/ d {3}) $ /, arguments.callee) + "," + arguments [2];
} Autre {
Arguments de retour [0];
}
});
};
var cutr4 = fonction (str) {// Alucelx
RETOURS STR.SPLIT (''). ');
};
var cutr5 = fonction (str) {// situ zhengmei
var return = [];
While (str) {
str = str.replace (// d {1,3} $ / g, fonction (a) {
Ret.unshift (a)
Retour "" ""
});
}
Return ret.join (",");
};
var cutr6 = fonction (str) {// situ zhengmei
var n = str.length% 3;
if (n) {{
Return str.slice (0, n) + str.slice (n) .ruplace (/ (/ d {3}) / g, ', $ $')
} Autre {
Return str.replace (/ (/ d {3}) / g, ', 1 $').
}
};
var cutr7 = fonction (str) {// situ zhengmei
var return = ""
pour (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
Return ret.charat (e) == ","?
}
var cutr8 = fonction (str) {// [[valeurof]]]
var s2 = [] .slice.call (str);
Pour (var i = s2.length-3; i> 0; i- = 3) {
s2.splice (i, 0, ',');
}
Retour s2.join ("")
}
var cutr9 = fonction (str) {// J'ai entendu
var newstr = nouveau tableau (str.length + parseInt (str.length / 3));
newstr [newstr.length-] = str [str.length-];
var currentIndex = str.length-;
pour (var i = newrtr.length-; i> = 0; i--) {
if (newrtr.length-i)% 4 == 0)
{{
newstr [i] = "," ;;;
} Autre {
newstr [i] = str [currentIndex ---];
}
}
Return newtr.join ("")
}
var cutr10 = fonction (str) {// rekey
var len = str.length, str2 = '', max = math.floor (len / 3);
pour (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;
Retour Str
}
// Ce qui suit est le test de performance
testFun (function () {
Cutr1 (str);
}, 'Méthode 1');
testFun (function () {
Cutr2 (str);
}, 'Method Two');
testFun (function () {
Cutr3 (str);
}, 'Méthode trois');
testFun (function () {
Cutr4 (str);
}, 'Method 4');
testFun (function () {
Cutr5 (str);
}, 'Method 5');
testFun (function () {
Cutr6 (str);
}, 'Method 6');
testFun (function () {
Cutr7 (str);
}, 'Méthode sept');
testFun (function () {
Cutr8 (str);
}, 'Méthode huit');
testFun (function () {
Cutr9 (str);
}, 'Method Nine');
testFun (function () {
CUTR10 (STR);
}, 'Method ten');
}
</cript>
Les résultats du nouveau test énergétique sont:
Copier le code du code comme suit:
Méthodes Temps total: 14 ms
Méthode Deux temps total: 9 ms
Méthodes Temps total: 174 ms
Méthode 4 Temps total: 34 ms
Méthode 5 Temps total: 39 ms
Méthode six temps total: 7 ms
Méthode sept temps total: 9 ms
Méthode huit temps total: 30 ms
Méthode neuf temps total: 14 ms
Méthode dix temps total: 4 ms