序文: ユニークな ID を持つには、 1. NanoIDがUUIDに取って代わる理由1. より安全 ほとんどの乱数ジェネレーターでは、安全でない 2. 高速かつコンパクトです。NanoID さらに、NanoID は次の 14 種類のプログラミング言語をサポートしています。 C#、C++、Clojure および ClojureScript、Crystal、Dart および Flutter、Deno、Go、Elixir、Haskell、Janet、Java、Nim、Perl、PHP、辞書付き Python、Ruby、Rust、Swift 3. 互換性 また、 2. jsを生成する方法jsを使ってどのように生成されるか見てみましょう まず、これまでどのように 方法1: 関数guid() { 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'を返します。/[xy]/g、関数(c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); v.toString(16) を返します。 }); } guid() // "a1ca0f7b-51bd-4bf3-a5d5-6a74f6adc1c7" 方法2: var _S4 = 関数() { (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1) を返します。 } // 広告リクエストの一意の ID を取得します。現在のタイムスタンプ + 13 桁のランダムな数字ですか? export function GetsingleId() { var _res = (_S4() + _S4() + '-' + _S4() + '-' + _S4() + '-' + _S4() + '-' + _S4() + _S4() + _S4()) '_' + config.version + '_' + _res を返します } 方法3: 関数uuid() { var s = []; var hexDigits = "0123456789abcdef"; (var i = 0; i < 36; i++) の場合 { s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); } s[14] = "4"; // time_hi_and_versionフィールドのビット12-15を0010にする s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // clock_seq_hi_and_reservedのビット6-7を01にする s[8] = s[13] = s[18] = s[23] = "-"; var uuid = s.join(""); uuid を返します。 } uuid() // "ffb7cefd-02cb-4853-8238-c0292cf988d5" 3. ナノID方式'nanoid' から {nanoid } をインポートします idA = nanoid() とします //=> "V1StGXR8_Z5jdHi6B-myT" //生成される文字列の長さも指定できます。let idB = nanoid(5) 主にnpmパッケージの形でインストールできます。コアコードは次のとおりです。 urlAlphabet = とします 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict' について ナノイド = (サイズ = 21) => { id = ''とする // `for (var i = 0; i < step; i++)` のコンパクトな代替。 i = サイズとする (i--) { // `| 0` は `Math.floor()` よりもコンパクトで高速です。 id += urlアルファベット[(Math.random() * 64) | 0] } 戻りID } JS でユニーク ID を生成する方法である UUID と NanoID についての説明はこれで終わりです。JS でユニーク ID を生成する方法の詳細については、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: 速度、読み込み、Web アプリケーションなどにおける div と table の違い。
MySQL 内部には至るところにキャッシュがあります。MySQL のソースコードを読むと、キャッシ...
テーブル内の min-width と max-width プロパティの設定 <テーブル>...
「Enter != Submit」問題を実装するには、通常、「ボタンの種類」と「入力ボックスの数」か...
背景まず、背景を説明します。ある制約により、当社の現在のバックアップ戦略では、1 日おきにフル バッ...
目次1. ユーザーが作成したスクリプト2. 単語当てゲーム3. ネットワークカードのトラフィック監視...
目次NFS サービスの概要NFS とは何ですか? NFS マウントの原則NFS サーバーはデータ転送...
準備のメリットPrepare SQL が生成される理由。まず、MySQL サーバー上で SQL を実...
簡単に言えば、MySQL ワーム レプリケーションは、クエリされたデータを指定されたデータ テーブル...
まず、Navicat for MySQL をダウンロードしてインストールする必要があります。正規版の...
データベースの組み込み関数の使用この記事では、主に日付関数、文字列関数、数学関数など、データベースの...
Ubuntuでsshを開くのに1時間以上かかりました。主な原因は、最初に読んだチュートリアルの手順...
他の人から「つまらない」とか「時代遅れ」というフィードバックを受けて、それを変更しようとしたのに、更...
XHTML 言語では、ul タグに li が含まれ、dl タグに dt と dd が含まれることは誰...
1.ブラウザでmysqlを検索してダウンロードしてインストールしますアドレス: https://d...
目次ビジネスシナリオ:効果のデモンストレーション:ビジネスシナリオ: el-form を使用する場合...