3345687687876789123
แปลงเป็น: xxx, xxx, xxx
คัดลอกรหัสรหัสดังนี้:
<script type = "text/javascript">
window.onload = function () {
// การทดสอบทั้งหมดจัดทำโดยมีด
var testfun = function (callback, str) {
var tipelem = docment.createelement ('div')
เริ่มต้นเวลา
ระยะเวลา = 0;
สำหรับ (var j = 5; j> 0; j--) {
เริ่มต้น = +วันที่ใหม่ ();
สำหรับ (var i = 10,000; i> 0; i--) {
การโทรกลับ ();
-
ระยะเวลา = (( + วันที่ใหม่ ())) - เวลาเริ่มต้น) + ระยะเวลา;
-
ระยะเวลา = (ระยะเวลา / 5) .tofixed (0);
Tipelem.inerhtml = str + 'เวลารวม:' + duration + 'ms';
document.body.appendchild (Tipelem);
-
var str = '3345687687876789123';
var cutR1 = ฟังก์ชั่น (str) {// ด้วยมีด
var len = str.length,
LastIndex,
arr = [];
ในขณะที่ (len> 0) {
LastIndex = Len;
len- = 3;
arr.unshift (str.substring (Len, LastIndex));
-
return arr.join (',');
-
var cutR2 = ฟังก์ชั่น (str) {// abcd
return str.replace (// b (? = (?:/d {3})+$)/g, ',', ');
-
var cutr3 = ฟังก์ชั่น (str) {// ลุง
return str.replace (/(.*) (/d {3}) $/, function () {
ถ้า (อาร์กิวเมนต์ [1] && อาร์กิวเมนต์ [2]) {
อาร์กิวเมนต์ส่งคืน [1]. แทนที่ (/(.*) (/d {3}) $/, arguments.callee)+","+อาร์กิวเมนต์ [2];
} อื่น {
อาร์กิวเมนต์ส่งคืน [0];
-
-
-
var cutR4 = ฟังก์ชั่น (str) {// alucelx
return str.split ('') ');
-
var cutr5 = ฟังก์ชั่น (str) {// situ zhengmei
var return = [];
ในขณะที่ (str) {
str = str.replace (// d {1,3} $/g, ฟังก์ชัน (a) {
ret.unshift (a)
กลับ "" ""
-
-
return ret.join (",");
-
var cutr6 = ฟังก์ชั่น (str) {// situ zhengmei
var n = str.length % 3;
ถ้า (n) {{
return str.slice (0, n) + str.slice (n) .ruplace (/(/d {3})/g, ', $ 1')
} อื่น {
return str.replace (/(/d {3})/g, ', $ 1')
-
-
var cutr7 = ฟังก์ชั่น (str) {// situ zhengmei
var return = ""
สำหรับ (var i = 0, n = str.length, m = n %3-1; i <n; i ++) {
ret += str.charat (i)
ถ้า (i % 3 === m) {
ret += ","
-
-
var e = ret.length -1
return ret.charat (e) == ","?
-
var cutr8 = ฟังก์ชั่น (str) {// [[[valueof]]]]
var s2 = [] .slice.call (str);
สำหรับ (var i = s2.length-3; i> 0; i- = 3) {
S2.splice (i, 0, ',');
-
กลับ s2.join ("")
-
var cutr9 = ฟังก์ชั่น (str) {// ฉันได้ยิน
var newstr = อาร์เรย์ใหม่ (str.length+ parseint (str.length/3));
Newstr [newstr.length-] = str [str.length-];
var currentindex = str.length-;
สำหรับ (var i = newstr.length-; i> = 0; i--) {
if (newstr.length-i)%4 == 0)
-
Newstr [i] = "," ;;;
} อื่น {
Newstr [i] = str [currentindex ---];
-
-
Return Newstr.join ("")
-
var cutr10 = ฟังก์ชั่น (str) {// rekey
var len = str.length, str2 = '', max = math.floor (len / 3);
สำหรับ (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);
}, 'วิธีสอง');
testfun (function () {
cutr3 (str);
}, 'Method Three');
testfun (function () {
cutr4 (str);
}, 'วิธีการ 4');
testfun (function () {
cutr5 (str);
}, 'วิธี 5');
testfun (function () {
cutr6 (str);
}, 'วิธีการ 6');
testfun (function () {
cutr7 (str);
}, 'Method Seven');
testfun (function () {
cutr8 (str);
}, 'Method Eight');
testfun (function () {
cutr9 (str);
}, 'Method Nine');
testfun (function () {
cutr10 (str);
}, 'Method Ten');
-
</script>
ผลการทดสอบพลังงานใหม่คือ:
คัดลอกรหัสรหัสดังนี้:
วิธีการทั้งหมดเวลา: 14 ms
วิธีสองเวลาทั้งหมด: 9 ms
วิธีการทั้งหมดเวลา: 174 ms
วิธี 4 เวลาทั้งหมด: 34 ms
วิธี 5 เวลาทั้งหมด: 39 ms
วิธีหกเวลาทั้งหมด: 7 ms
วิธีเจ็ดเวลาทั้งหมด: 9 ms
วิธีแปดเวลาทั้งหมด: 30 มิลลิวินาที
วิธีเก้าเวลาทั้งหมด: 14 ms
วิธีสิบเวลาทั้งหมด: 4 ms