复制代码代码如下:
fungsi zipnum (num, radix) {
if (! zipnum.zip) {
zipnum.zip = fungsi (inputnum) {
if (inputnum> 35) {// 用大写字母表示 36-61
return string.fromCharCode ('a'.charcodeat (0) + inputnum % 36);
} lain jika (inputnum> 9) {// 用小写字母表示 10-35
return string.fromCharCode ('a'.charcodeat (0) + inputnum % 10);
} kalau tidak {
mengembalikan inputnum;
}
}
}
var quotient = num, sisa, hasil;
if (radix> 36 && radix <63) {
hasil = [];
Mengerjakan {
sisa = quotient % radix;
quotient = parseInt (quotient / radix);
result.push (zipnum.zip (sisa));
} while (quotient> radix);
sisa = quotient % radix;
if (sisa! == 0) {
result.push (zipnum.zip (sisa));
}
result = result.reverse (). gabung ('');
} else if (radix> 1 && radix <36) {
hasil = num.tostring (radix);
} kalau tidak {
hasil = num;
window.console && console.warn ('argumen radix harus antara 2 dan 62')
}
hasil pengembalian;
}
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 ();