Vorwort: Es gibt eine bessere Möglichkeit, eine eindeutige ID zu haben: 1. Warum NanoID UUID ersetzt 1. Sicherer: Die meisten Zufallsgeneratoren verwenden das unsichere 2. Es ist schnell und kompakt. Darüber hinaus unterstützt NanoID 14 verschiedene Programmiersprachen: C#, C++, Clojure und ClojureScript, Crystal, Dart & Flutter, Deno, Go, Elixir, Haskell, Janet, Java, Nim, Perl, PHP, Python mit Wörterbüchern, Ruby, Rust, Swift 3. Kompatibilität Es unterstützt auch 2. So generieren Sie jsMal sehen, wie sie mit js generiert werden Lassen Sie uns zunächst darüber sprechen, wie wir zuvor Methode 1: Funktion guid() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, Funktion (c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); gibt v.toString(16) zurück; }); } guid() // "a1ca0f7b-51bd-4bf3-a5d5-6a74f6adc1c7" Methode 2: var _S4 = Funktion() { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1) } // Holen Sie sich die eindeutige ID der Anzeigenanfrage. Ist es der aktuelle Zeitstempel + 13 zufällige Ziffern? export function GetsingleId() { var _res = (_S4() + _S4() + '-' + _S4() + '-' + _S4() + '-' + _S4() + '-' + _S4() + '-' + _S4() + _S4() + _S4()) returniere '_' + Konfigurationsversion + '_' + _res } Methode 3: Funktion uuid() { var s = []; var hexDigits = "0123456789abcdef"; für (var i = 0; i < 36; i++) { s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); } s[14] = "4"; // Bits 12-15 des Feldes time_hi_and_version auf 0010 s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // Bits 6-7 der clock_seq_hi_and_reserved auf 01 s[8] = s[13] = s[18] = s[23] = "-"; var uuid = s.join(""); UUID zurückgeben; } uuid() // "ffb7cefd-02cb-4853-8238-c0292cf988d5" 3. NanoID-Methodeimportiere { nanoid } von 'nanoid' let idA = nanoid() //=> "V1StGXR8_Z5jdHi6B-myT" //Sie können auch die Länge des generierten Strings angeben let idB = nanoid(5) Es kann hauptsächlich in Form eines NPM-Pakets installiert werden. Der Kerncode lautet wie folgt: let urlAlphabet = „useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict“ lass nanoid = (Größe = 21) => { lass id = '' // Eine kompakte Alternative für „for (var i = 0; i < step; i++)“. sei i = Größe während (i--) { // `| 0` ist kompakter und schneller als `Math.floor()`. id += urlAlphabet[(Math.random() * 64) | 0] } Rücksende-ID } Dies ist das Ende dieses Artikels über UUID und NanoID, die Methoden zum Generieren eindeutiger IDs in JS. Weitere Informationen zum Generieren eindeutiger IDs in JS finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die verwandten Artikel weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Der Unterschied zwischen Div und Tabelle in Geschwindigkeit, Laden, Webanwendung usw.
>>: htm-Anfängerhinweise (unbedingt für Anfänger lesen)
Projekthintergrund Seit kurzem gibt es ein Projek...
Primärschlüssel: Schlagwort: Primärschlüssel Funk...
Wenn Server B (172.17.166.11) eingeschaltet oder ...
Hintergrund Vor einiger Zeit half unser Projektte...
Referenz: Offizielle Docker-Redis-Dokumentation 1...
Inhaltsverzeichnis 1. Testumgebung 1.1 Hardware u...
1. Dynamisches Laden von Skripten Mit der wachsen...
Mit dem MySQL-Befehl „explain“ können Sie die Lei...
Dieser Artikel stellt hauptsächlich vor, wie Deskt...
Heute möchte ich einen Countdown von Vue und Mome...
Inhaltsverzeichnis Grundlegende Anwendung eingebe...
Die MySQL-Installation ist relativ einfach. Norma...
Der ECS-Cloud-Server, der mit dem historischen Li...
Um die Wartung von MySQL zu erleichtern, wurde ei...
Dieses Artikelbeispiel zeigt die Implementierung ...