午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

JavaScript 生成唯一ID的幾種方式

瀏覽:135日期:2023-10-04 10:04:13
可行方案1.生成[0,1)的隨機(jī)數(shù)的Math.random

//我這次運(yùn)行生成的是:0.5834165740043102 Math.random();2.獲取當(dāng)前時(shí)間戳Date.now

//現(xiàn)在時(shí)間戳是1482645606622Date.now();3.將10進(jìn)制轉(zhuǎn)換為其他進(jìn)制的字符串 Number.toString

//將1482645606622轉(zhuǎn)換成二進(jìn)制:10101100100110100100100001001000011011110 (1482645606622).toString(2);//轉(zhuǎn)換成16進(jìn)制:159349090de MongDB中的ObjectID就是24位16進(jìn)制數(shù) (1482645606622).toString(16);//最大進(jìn)制支持轉(zhuǎn)為36進(jìn)制,使用字符是0-9a-z :ix48wvry (1482645606622).toString(36);改進(jìn)版本一:隨機(jī)數(shù) + toString()1.隨機(jī)數(shù)版本

/** * 生成一個(gè)用不重復(fù)的ID */function GenNonDuplicateID(){ return Math.random().toString()}//生成一個(gè)類似 0.1283460319177394的IDGenNonDuplicateID()2.隨機(jī)數(shù)版本16進(jìn)制版本

/** * 生成一個(gè)用不重復(fù)的ID */function GenNonDuplicateID(){ return Math.random().toString(16)}//函數(shù)將生成類似 0.c1615913fa915 的IDGenNonDuplicateID()3.隨機(jī)數(shù)版本36進(jìn)制版本

/** * 生成一個(gè)用不重復(fù)的ID */function GenNonDuplicateID(){ return Math.random().toString(36)}//函數(shù)將生成類似 0.hefy7uw6ddzwidkwcmxkzkt9 的IDGenNonDuplicateID()4.隨機(jī)數(shù)版本36進(jìn)制版本

/** * 生成一個(gè)用不重復(fù)的ID */function GenNonDuplicateID(){ return Math.random().toString(36).substr(2)}//函數(shù)將生成類似 8dlv9vabygks2cbg1spds4i 的IDGenNonDuplicateID()總結(jié)

優(yōu)勢(shì):使用toString的進(jìn)制轉(zhuǎn)化可以實(shí)現(xiàn)更短的字符串表示更多的范圍

缺點(diǎn):用一個(gè)隨機(jī)數(shù)作為ID,隨著使用次數(shù)的累積,必然會(huì)出現(xiàn)相同的兩個(gè)ID

改進(jìn)版本二1.引入時(shí)間戳 + 36進(jìn)制版本

/** * 生成一個(gè)用不重復(fù)的ID */function GenNonDuplicateID(){ let idStr = Date.now().toString(36) idStr += Math.random().toString(36).substr(2) return idStr}//函數(shù)將生成類似 ix49sfsnt7514k5wpflyb5l2vtok9y66r 的IDGenNonDuplicateID()2.引入時(shí)間戳 + 36進(jìn)制版本 + 隨機(jī)數(shù)長(zhǎng)度控制

/** * 生成一個(gè)用不重復(fù)的ID */function GenNonDuplicateID(randomLength){ let idStr = Date.now().toString(36) idStr += Math.random().toString(36).substr(2,randomLength) return idStr}// GenNonDuplicateID(3) 將生成類似 ix49wl2978w 的IDGenNonDuplicateID(3)

但是,這樣生成的ID前面幾位總是相同。

3. 引入時(shí)間戳 + 隨機(jī)數(shù)前置 36進(jìn)制 + 隨機(jī)數(shù)長(zhǎng)度控制

/** * 生成一個(gè)用不重復(fù)的ID */function GenNonDuplicateID(randomLength){ return Number(Math.random().toString().substr(2,randomLength) + Date.now()).toString(36)}//GenNonDuplicateID()將生成 rfmipbs8ag0kgkcogc 類似的IDGenNonDuplicateID()總結(jié)

只使用時(shí)間戳,有個(gè)能在同一時(shí)間多人訪問生成的是一樣的。加上隨機(jī)數(shù)可以實(shí)現(xiàn)唯一。再加上自定義長(zhǎng)度,使UUID更靈活。

總結(jié)

萬能方案:

/** * 生成一個(gè)用不重復(fù)的ID * @param { Number } randomLength */function getUuiD(randomLength){ return Number(Math.random().toString().substr(2,randomLength) + Date.now()).toString(36)}

以上就是JavaScript 生成唯一ID的幾種方式的詳細(xì)內(nèi)容,更多關(guān)于JavaScript 生成唯一ID的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 日本爱爱网址 | 中文字幕综合在线 | 大号bbwassbigav另类 | 国产日韩欧美日韩大片 | 亚洲91久久| 一级片成人 | 国产又粗又猛又黄 | 欧美色偷偷 | 国产免费一区二区三区四区 | 黄色三级三级三级三级 | 翔田千里在线视频 | 成人黄色三级视频 | 日本三日本三级少妇三级66 | 国产美女一区二区三区 | 女人的天堂网 | 日本韩国欧美一区 | 亚洲天天 | 成年人网站免费在线观看 | 亚洲欧美999 | 99热精品在线观看 | 三级视频久久 | 91精品国产欧美一区二区 | 在线观看www | 欧美一区久久 | 伊人欧美| 97超碰资源总站 | 黄色av观看 | 日韩亚洲在线 | 国产美女永久免费 | 国产一区二区视频在线观看 | 国产另类av| 国产精品一区二区免费 | 亚洲天堂精品在线观看 | 国产一区二区激情 | 日本三级在线视频 | 色九月婷婷 | 女18毛片| 深夜福利一区二区三区 | 男人的天堂欧美 | 人人超碰人人 | 一区二区三区视频在线播放 |