3345687687876789123
Convertido a: xxx, xxx, xxx
Copiar código del código de la siguiente manera:
<script type = "text/javaScript">
window.onload = function () {
// La prueba completa es proporcionada por un cuchillo
var testFun = function (Callback, Str) {
var tipelem = Docment.CreateElement ('Div'),
Inicio Tiempo,
duración = 0;
para (var j = 5; j> 0; j--) {
starttime = +new Date ();
para (var i = 10000; i> 0; i--) {
llamar de vuelta ();
}
duración = (( + nueva fecha ())) - starttime) + duración;
}
duración = (duración / 5) .tofixed (0);
tipelem.inerhtml = str + 'tiempo total:' + duración + 'ms';
document.body.appendChild (tipelem);
};
var str = '3345687687876789123';
var cutr1 = function (str) {// con un cuchillo
var len = str.length,
LastIndex,
arr = [];
While (len> 0) {
lastindex = len;
len- = 3;
Arr.unshift (str.substring (Len, LastIndex));
}
Regresar arr.join (',');
};
var cutr2 = function (str) {// abcd
Return str.replace (// b (? = (?:/D {3})+$)/g, ',', ');
};
var cutr3 = function (str) {// tío
Return str.replace (/(.*) (/d {3}) $/, function () {
if (argumentos [1] && argumentos [2]) {
Los argumentos de retorno [1] .replace (/(.*) (/d {3}) $/, argumentos.callee)+","+argumentos [2];
} Demás {
Devolver argumentos [0];
}
});
};
var cutr4 = function (str) {// alucelx
Return str.split (''). ');
};
var cutr5 = function (str) {// situ zhengmei
var return = [];
While (str) {
str = str.replace (// d {1,3} $/g, función (a) {
Ret.unshift (a)
Devolver "" ""
});
}
Regreso 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')
} Demás {
Return str.replace (/(/d {3})/g, ', $ 1').
}
};
var cutr7 = function (str) {// situ zhengmei
var return = ""
para (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 = function (str) {// [[valorf]]]
var s2 = [] .slice.call (str);
Para (var i = s2.length-3; i> 0; i- = 3) {
s2.splice (i, 0, ',');
}
Regresar s2.join ("")
}
var cutr9 = function (str) {// escuché
var newStr = new Array (str.length+ parseInt (str.length/3));
Newstr [Newstr.length-] = str [str.length-];
var currentIndex = str.length-;
for (var i = newsttr.length-; i> = 0; i--) {
if (newstr.length-i)%4 == 0)
{{
Newstr [i] = "," ;;;
} Demás {
Newstr [i] = str [currentIndex ---];
}
}
Return Newstr.Join ("")
}
var cutr10 = function (str) {// rekey
var len = str.length, str2 = '', max = math.floor (len / 3);
para (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;
Devolver str
}
// La siguiente es la prueba de rendimiento
testFun (function () {
Cutr1 (str);
}, 'Método 1');
testFun (function () {
Cutr2 (STR);
}, 'Método dos');
testFun (function () {
cuTr3 (str);
}, 'Método tres');
testFun (function () {
Cutr4 (STR);
}, 'Método 4');
testFun (function () {
Cutr5 (STR);
}, 'Método 5');
testFun (function () {
Cutr6 (STR);
}, 'Método 6');
testFun (function () {
Cutr7 (str);
}, 'Método siete');
testFun (function () {
Cutr8 (STR);
}, 'Método ocho');
testFun (function () {
cutr9 (str);
}, 'Método nueve');
testFun (function () {
Cutr10 (STR);
}, 'Método diez');
}
</script>
Los resultados de la nueva prueba de energía son:
Copiar código del código de la siguiente manera:
Métodos Tiempo total: 14 ms
Método dos Tiempo total: 9 ms
Métodos Tiempo total: 174 ms
Método 4 Tiempo total: 34 ms
Método 5 Tiempo total: 39 ms
Método seis tiempo total: 7 ms
Método siete tiempo total de tiempo: 9 ms
Método ocho Tiempo total: 30 ms
Método nueve Tiempo total: 14 ms
Método Diez Tiempo Total: 4 ms