おそらく一意の識別子として使用するために、JavaScript でランダムな英数字 (大文字、小文字、数字) の文字列を生成する最も短い方法 (合理的な範囲内で) は何ですか?
ベストアンサー1
私は、これが本当に素晴らしくエレガントな解決策であることに気づきました:
Math.random().toString(36).slice(2)
この実装に関する注意:
- これにより、浮動小数点の文字列化によって末尾のゼロが削除されるため、0 文字から 12 文字までの長さの文字列 (通常は 11 文字) が生成されます。
- 大文字は生成されず、小文字と数字のみが生成されます。
- ランダム性は から生じるため
Math.random()
、出力は予測可能であり、必ずしも一意ではない可能性があります。 - 理想的な実装を想定した場合でも、出力のエントロピーは最大 52 ビットであり、約 7000 万個の文字列が生成された後に重複が発生する可能性があることを意味します。