复制代码代码如下:
ฟังก์ชัน Zipnum (num, radix) {
if (! zipnum.zip) {
zipnum.zip = function (inputnum) {
if (inputnum> 35) {// 用大写字母表示 36-61
return String.FromCharcode ('A'.Charcodeat (0) + inputNum % 36);
} อื่นถ้า (inputnum> 9) {// 用小写字母表示 10-35
return String.FromCharcode ('A'.Charcodeat (0) + inputNum % 10);
} อื่น {
ส่งคืนอินพุทนัม;
-
-
-
var quotient = num, ส่วนที่เหลือ, ผลลัพธ์;
if (radix> 36 && radix <63) {
ผลลัพธ์ = [];
ทำ {
ส่วนที่เหลือ = ความฉลาดทาง % radix;
quotient = parseInt (quotient / radix);
result.push (zipnum.zip (ส่วนที่เหลือ));
} ในขณะที่ (หารือ> radix);
ส่วนที่เหลือ = ความฉลาดทาง % radix;
ถ้า (ส่วนที่เหลือ! == 0) {
result.push (zipnum.zip (ส่วนที่เหลือ));
-
result = result.reverse (). เข้าร่วม ('');
} อื่นถ้า (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 ();