js: Math.random生成随机字符串

简介: js: Math.random生成随机字符串

先是 Math.random() 生成 [0, 1) 的数,也就是 0.123312、0.982931之类的,

然后调用 number 的 toString方法将其转换成36进制的,

按照MDN的说法,36进制的转换应该是包含了字母 a~z 和 数字0~9的,

因为这样生成的是 0.89kjna21sa 类似这样的,所以要截取一下小数部分,

即从索引 2 开始截取10个字符就是我们想要的随机字符串了

const str = Math.random().toString(36).substr(2, 10);
console.log(str);   // 'jlj18hr0mu'

参考

JavaScript 奇怪又实用的姿势又增加了六个

相关文章
|
算法 C++ 索引
【算法】——全排列算法讲解
【算法】——全排列算法讲解
826 0
|
存储 JavaScript 前端开发
Vue3如何优雅的跨组件通信
Vue3如何优雅的跨组件通信
383 0
|
消息中间件 监控 NoSQL
|
8月前
|
Java
【源码】【Java并发】【ReentrantLock】适合中学者体质的ReentrantLock源码阅读
因为本文说的是ReentrantLock源码,因此会默认,大家对AQS有基本的了解(比如同步队列、条件队列大概> 长啥样?)。 不懂AQS的小朋友们,你们好呀!也欢迎先看看这篇
198 13
【源码】【Java并发】【ReentrantLock】适合中学者体质的ReentrantLock源码阅读
|
Web App开发 JavaScript 前端开发
深入浅出Node.js:从零开始构建后端服务
【10月更文挑战第42天】在数字时代的浪潮中,掌握一门后端技术对于开发者来说至关重要。Node.js,作为一种基于Chrome V8引擎的JavaScript运行环境,允许开发者使用JavaScript编写服务器端代码,极大地拓宽了前端开发者的技能边界。本文将从Node.js的基础概念讲起,逐步引导读者理解其事件驱动、非阻塞I/O模型的核心原理,并指导如何在实战中应用这些知识构建高效、可扩展的后端服务。通过深入浅出的方式,我们将一起探索Node.js的魅力和潜力,解锁更多可能。
|
Go API 数据库
【Go 语言专栏】Go 语言中的 ORM 框架使用与比较
【4月更文挑战第30天】本文对比分析了Go语言中的常见ORM框架:GORM、XORM和BeeORM。GORM功能强大,支持复杂查询和关联关系处理,但可能影响性能;XORM以其简单易用和高性能受到青睐,但文档不全;BeeORM简洁高效,适合基础应用场景。选择ORM应考虑功能、性能、易用性和社区支持,根据项目需求进行评估和选择,以提升开发效率和应用性能。
885 0
|
前端开发
react动态生成input、select标签以及思路总结
本文介绍了在React中动态生成input和select标签的方法,包括准备数据结构、在组件挂载时动态添加状态、页面渲染以及输入处理,最后总结了实现思路。
219 1
react动态生成input、select标签以及思路总结
|
前端开发 API PHP
一款小而美的开源滑动验证码组件
一款小而美的开源滑动验证码组件
393 1
|
存储 算法 调度
万字长文!非常详细!操作系统【内存管理】
万字长文!非常详细!操作系统【内存管理】
|
存储 安全 Ubuntu
Linux `sudo apt update`和`sudo apt upgrade`命令的作用和使用方法
Linux `sudo apt update`和`sudo apt upgrade`命令的作用和使用方法
2342 0
Linux `sudo apt update`和`sudo apt upgrade`命令的作用和使用方法