时间:2021-05-26
 3345687687876789123 
转化为:xxx,xxx,xxx
复制代码 代码如下: 
<script type="text/javascript"> 
window.onload = function(){ 
//整个测试由小刀提供
var testFun = function( callback, str ){ 
var tipElem = document.createElement( 'div' ), 
startTime,
duration = 0; 
for( var j = 5; j > 0; j-- ){ 
startTime = +new Date(); 
for( var i = 10000; i > 0; i-- ){ 
callback();
}
duration = ((+new Date()) - startTime) + duration; 
}
duration = (duration / 5).toFixed(0); 
tipElem.innerHTML = str + '总耗时:' + duration + ' ms'; 
document.body.appendChild( tipElem ); 
};
var str = '3345687687876789123'; 
var cuter1 = 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 cuter2 = function( str ){//abcd 
return str.replace( /\B(?=(?:\d{3})+$)/g, ',' ); 
};
var cuter3 = function( str ){//前叔 
return str.replace(/(.*)(\d{3})$/,function(){ 
if(arguments[1]&& arguments[2]){ 
return arguments[1].replace(/(.*)(\d{3})$/,arguments.callee)+","+arguments[2]; 
} else { 
return arguments[0]; 
}
});
};
var cuter4 = function( str ){//Alucelx 
return str.split('').reverse().join('').replace(/(\d{3})/g, '$1,').split('').reverse().join(''); 
};
var cuter5 = function( str ){//司徒正美 
var ret = []; 
while(str){
str = str.replace(/\d{1,3}$/g,function(a){ 
ret.unshift(a)
return "" 
});
}
return ret.join(","); 
};
var cuter6 = function( str ){//司徒正美 
var n = str.length % 3; 
if(n){
return str.slice(0,n) + str.slice(n).replace(/(\d{3})/g,',$1') 
}else{
return str.replace(/(\d{3})/g,',$1').slice(1) 
}
};
var cuter7 = function(str){//司徒正美 
var ret = "" 
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 
return ret.charAt(e) == "," ? ret.slice(0,e) : ret 
}
var cuter8 = 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 cuter9 = function(str){//听说 
var newStr= new Array(str.length+ parseInt(str.length/3)); 
newStr[newStr.length-1]=str[str.length-1];
var currentIndex=str.length-1; 
for(var i = newStr.length-1;i >= 0;i--) { 
if((newStr.length-i)%4==0)
{
newStr[i]=",";
}else{
newStr[i]=str[currentIndex--];
}
}
return newStr.join("") 
}
var cuter10 = 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(){
cuter1(str);
}, '方法一' ); 
testFun(function(){
cuter2(str);
}, '方法二' ); 
testFun(function(){
cuter3(str);
}, '方法三' ); 
testFun(function(){
cuter4(str);
}, '方法四' ); 
testFun(function(){
cuter5(str);
}, '方法五' ); 
testFun(function(){
cuter6(str);
}, '方法六' ); 
testFun(function(){
cuter7(str);
}, '方法七' ); 
testFun(function(){
cuter8(str);
}, '方法八' ); 
testFun(function(){
cuter9(str);
}, '方法九' ); 
testFun(function(){
cuter10(str);
}, '方法十' ); 
}
</script>
新能测试的结果为:
复制代码 代码如下: 
方法一总耗时:14 ms 
方法二总耗时:9 ms 
方法三总耗时:174 ms 
方法四总耗时:34 ms 
方法五总耗时:39 ms 
方法六总耗时:7 ms 
方法七总耗时:9 ms 
方法八总耗时:30 ms 
方法九总耗时:14 ms 
方法十总耗时:4 ms 
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
python如何将字母转化为数字?将英文字母转成数字:转换ord('F')反转chr(70)pythonord()函数是chr()函数(对于8位的ASC
ASP中的FormatNumber函数可以将一个数字格式化为你想要的形式,如有一个数字498.8573945,如何把它格式化成两位小数据呢?用过ASP的都知道,
很多人都知道如何将WPS转化为PDF格式,可是文档的内容仍然无法实现安全,保密!下面就来告诉大家如何将WPS转为不可复制的PDF文档。1、首先打开已经编辑好的W
工作中,需要把excel表格里的小写数字转化为大写数字,如果一个一个改很麻烦,现在我教给大家如何批量修改,希望能对大家有所帮助! excel小写数字转化为
如何将图片和声音转化成byte[],并通过webservice进行传输?如何将webservice传输过来的byte[],转化成我们想要的文件?1、文件转化为b