复制代码代码如下 :
함수 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);
} 또 다른 {
리턴 inputnum;
}
}
}
var quotient = num, 나머지, 결과;
if (radix> 36 && radix <63) {
결과 = [];
하다 {
나머지 = 몫 % radix;
quotient = parseint (quotient / radix);
result.push (zipnum.zip (나머지));
} while (quotient> radix);
나머지 = 몫 % radix;
if (나머지! == 0) {
result.push (zipnum.zip (나머지));
}
결과 = result.reverse (). join ( '');
} else if (radix> 1 && radix <36) {
결과 = num.tostring (radix);
} 또 다른 {
결과 = num;
window.console && console.warn ( 'radix 인수는 2에서 62 사이 여야합니다')
}
반환 결과;
}
함수 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 ();