利用进制转换压缩数字函数分享
利用进制转换压缩数字函数分享
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:functionzipNum(num,radix){if(!zipNum.zip){zipNum.zip=function...

复制代码 代码如下:

function zipNum(num, radix){

if(!zipNum.zip){

zipNum.zip = function(inputNum){

if(inputNum > 35){//用大写字母表示36-61

return String.fromCharCode('A'.charCodeAt(0) + inputNum % 36);

} else if(inputNum > 9){//用小写字母表示10-35

return String.fromCharCode('a'.charCodeAt(0) + inputNum % 10);

} else {

return inputNum;

}

}

}

var quotient = num, remainder, result;

if(radix > 36 && radix < 63){

result = [];

do {

remainder = quotient % radix;

quotient = parseInt(quotient / radix);

result.push(zipNum.zip(remainder));

}while(quotient > radix);

remainder = quotient % radix;

if(remainder !== 0){

result.push(zipNum.zip(remainder));

}

result = result.reverse().join('');

} else if(radix > 1 && radix < 36){

result = num.toString(radix);

} else {

result = num;

window.console && console.warn('radix argument must be between 2 and 62')

}

return result;

}

function testSortNum(){

assertEquals(zipNum(61, 62), 'Z');

assertEquals(zipNum(62 * 2 - 1, 62), '1Z');

assertEquals(zipNum(62 * 3 - 1, 62), '2Z');

assertEquals(zipNum(1361182624991, 62), 'dXN5fJB');

}

testSortNum();

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类