Mögliche Lösungen1. Math.random generiert Zufallszahlen in [0,1)//Dieses Mal habe ich den generierten Wert ausgeführt: 0,5834165740043102 Math.random(); 2. Holen Sie sich den aktuellen Zeitstempel Date.now//Jetzt ist der Zeitstempel 1482645606622 Datum.jetzt(); 3. Konvertieren Sie Dezimalzahlen in andere Basiszeichenfolgen Number.toString//1482645606622 in Binärzahl umwandeln: 10101100100110100100100001001000011011110 (1482645606622).toString(2); //In Hexadezimal umwandeln: 159349090de ObjectID in MongoDB ist eine 24-stellige Hexadezimalzahl (1482645606622).toString(16); //Die maximal unterstützte Basis ist hexadezimal, mit den Zeichen 0-9a-z: ix48wvry (1482645606622).toString(36); Verbesserte Version 1: Zufallszahl + toString()1. Zufallszahlenversion/** * Generieren Sie eine eindeutige ID */ Funktion GenNonDuplicateID(){ return Math.random().toString() } //Generieren Sie eine ID ähnlich 0,1283460319177394 GenNonDuplicateID() 2. Zufallszahlenversion Hexadezimalversion/** * Generieren Sie eine eindeutige ID */ Funktion GenNonDuplicateID(){ gibt Math.random().toString(16) zurück } //Die Funktion generiert eine ID wie 0.c1615913fa915 GenNonDuplicateID() 3. Zufallszahlenversion Hexadezimalversion/** * Generieren Sie eine eindeutige ID */ Funktion GenNonDuplicateID(){ gibt Math.random().toString(36) zurück } //Die Funktion generiert eine ID wie 0.hefy7uw6ddzwidkwcmxkzkt9 GenNonDuplicateID() 4. Zufallszahlenversion Hexadezimalversion/** * Generieren Sie eine eindeutige ID */ Funktion GenNonDuplicateID(){ returniere Math.random().toString(36).substr(2) } //Die Funktion generiert eine ID ähnlich 8dlv9vabygks2cbg1spds4i GenNonDuplicateID() ZusammenfassenVorteile: Durch die Verwendung der Basiskonvertierung von toString können kürzere Zeichenfolgen erstellt werden, um einen größeren Bereich von Nachteil: Die Verwendung einer Zufallszahl als ID führt bei steigender Anzahl der Verwendungen zwangsläufig zu zwei identischen IDs. Verbesserte Version 21. Zeitstempel + Hexadezimalversion einführen/** * Generieren Sie eine eindeutige ID */ Funktion GenNonDuplicateID(){ let idStr = Date.now().toString(36) idStr += Math.random().toString(36).substr(2) Rückgabe-IDStr } //Die Funktion generiert eine ID ähnlich wie ix49sfsnt7514k5wpflyb5l2vtok9y66r GenNonDuplicateID() 2. Einführung von Zeitstempel + Hexadezimalversion + Zufallszahlenlängenkontrolle/** * Generieren Sie eine eindeutige ID */ Funktion GenNonDuplicateID(randomLength){ let idStr = Date.now().toString(36) idStr += Math.random().toString(36).substr(2,randomLength) Rückgabe-IDStr } // GenNonDuplicateID(3) generiert eine ID ähnlich ix49wl2978w GenNonDuplicateID(3) Die ersten Ziffern der so generierten ID sind allerdings immer gleich. 3. Zeitstempel einführen + Hexadezimalzahl vor Zufallszahl stellen + Länge der Zufallszahl kontrollieren/** * Generieren Sie eine eindeutige ID */ Funktion GenNonDuplicateID(randomLength){ gibt Zahl zurück(Math.random().toString().substr(2,randomLength) + Date.now()).toString(36) } //GenNonDuplicateID() generiert eine ID ähnlich rfmipbs8ag0kgkcogc GenNonDuplicateID() ZusammenfassenNutzen Sie einfach den Zeitstempel, damit mehrere Personen gleichzeitig auf dieselben Daten zugreifen können. Durch das Hinzufügen von Zufallszahlen kann Eindeutigkeit erreicht werden. Plus benutzerdefinierte Länge, UUID ist flexibler. ZusammenfassenUniverselle Lösung: /** * Generieren Sie eine eindeutige ID * @param { Zahl } zufälligeLänge */ Funktion getUuiD(randomLength){ gibt Zahl zurück(Math.random().toString().substr(2,randomLength) + Date.now()).toString(36) } Oben finden Sie Einzelheiten zu mehreren Möglichkeiten, mit JavaScript eindeutige IDs zu generieren. Weitere Informationen zum Generieren eindeutiger IDs mit JavaScript finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
MySQL ist ein relationales Datenbankverwaltungssy...
Im vorherigen Artikel haben wir die Netzwerkerken...
Vorwort Kürzlich stieß ich bei der Arbeit auf ein...
01. Befehlsübersicht Der Befehl tr kann Zeichen a...
Ich glaube, jeder Mensch ist sehr sensibel für Fa...
Inhaltsverzeichnis 1. Neues Projekt erstellen 2. ...
1: Definieren Sie eine gespeicherte Prozedur zum ...
Hintergrund CVE-2021-21972 Eine nicht authentifiz...
<html> <Kopf> <meta http-equiv=&quo...
Inhaltsverzeichnis Vorwort Was sind Metadaten? Ad...
Einführung in Git Git ist eine Open-Source-Versio...
Im vorherigen Artikel „Änderungen der MySQL-Tabel...
1. js schützt hasOwnProperty nicht vor unrechtmäß...
Transaktionale Merkmale 1. Atomarität: Nach dem S...
Beim Erlernen von CSS3 geht es mehr darum, sich m...