如何通过字符和数字组合生成UniqueID,并在ECMAScript中应用padding

我想为对象生成 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++ }

}   }


一只甜甜圈
浏览 149回答 1
1回答

守候你守候我

你不是让这种方式比它需要的更复杂吗?只需增加一个普通数字,通过在左侧填充零将其格式化为四位数长度 - 然后通过添加A和0...for(var i=1; i<3000; ++i) {&nbsp; var padNum = ("000"+i).substr(-4),&nbsp; uniqID =&nbsp; &nbsp; String.fromCharCode(padNum.charCodeAt(0)+17) +&nbsp; &nbsp; String.fromCharCode(padNum.charCodeAt(1)+17) +&nbsp; &nbsp; padNum[2] +&nbsp; &nbsp; padNum[3];&nbsp;&nbsp;&nbsp; console.log(padNum, uniqID)}结果:(此处的代码段控制台未显示完整结果,仅显示最后几行)0001 AA010002 AA020003 AA030004 AA040005 AA050006 AA060007 AA070008 AA080009 AA090010 AA100011 AA11...0099 AA990100 AB000101 AB010102 AB02...0199 AB990200 AC000201 AC010202 AC02...0998 AJ980999 AJ991000 BA001001 BA011002 BA02...
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript