一只甜甜圈
2022-01-01 20:15:49
我想為對象生成 UniqueID,通過從 ASCII 值生成 UniqueID 的字符部分,而不聲明任何數組,唯一 ID 應該從 AA01 開始并繼續到 AA99,然后是 AB01 到 AB99,然后是 AC01 到 AC99,AD01 -> AD99, -> AE01 -> AE99 ..等等。我還需要應用填充,所以 UniqueID 總是有 4 個值,比如“AC08”而不是“AC8”。下面是我所做的一個片段。function genUID (a,b){ var res=""; var res2=""; var res3; if (a=>65 && a<=90) { res = String.fromCharCode(a); if(b=>65 && b<=90) { res2= String.fromCharCode(b); b++; for(c=1;c<150;c++){ if(c<100){ (res3=c); } else { (res3= c-99); } console.log(res+""+res2+""+res3); } a++ }} }
1 回答

守候你守候我
TA貢獻1802條經驗 獲得超10個贊
你不是讓這種方式比它需要的更復雜嗎?只需增加一個普通數字,通過在左側填充零將其格式化為四位數長度 - 然后通過添加A和0...
for(var i=1; i<3000; ++i) {
var padNum = ("000"+i).substr(-4),
uniqID =
String.fromCharCode(padNum.charCodeAt(0)+17) +
String.fromCharCode(padNum.charCodeAt(1)+17) +
padNum[2] +
padNum[3];
console.log(padNum, uniqID)
}
結果:(此處的代碼段控制臺未顯示完整結果,僅顯示最后幾行)
0001 AA01
0002 AA02
0003 AA03
0004 AA04
0005 AA05
0006 AA06
0007 AA07
0008 AA08
0009 AA09
0010 AA10
0011 AA11
...
0099 AA99
0100 AB00
0101 AB01
0102 AB02
...
0199 AB99
0200 AC00
0201 AC01
0202 AC02
...
0998 AJ98
0999 AJ99
1000 BA00
1001 BA01
1002 BA02
...
添加回答
舉報
0/150
提交
取消