拼多多前端笔试第一题的随机字符串生成方法!

一直没想出来怎么做,楼主笨笨的写了个数组,然后生成随机0~63的数字,然后取数组里的值,最后拼接字符串。
全部评论
function randomStr(n) {     if (typeof n !== 'number') {         return 'ERROR: Input is not a number.';     }          var table = ['a','b','c','A','B','C','1','2','3']; // 省略     var s = '';     for (var i=0;i<n;i++) {         var randomIndex = Math.floor(Math.random() * (table.length));         s += table[randomIndex];     }     return s; } console.log(randomStr(3));  // c1B console.log(randomStr('not number'));  // ERROR: Input is not a number. 我想到了一个比较简单的思路,和大家分享一下。
点赞 回复 分享
发布于 2018-03-20 23:04
我一个小时做完了三七,赶过来还剩半小时正好做到拼多多这题😂😂😂
点赞 回复 分享
发布于 2018-03-20 23:27
用位操作+进制转换 (~~(Math.random()*(1<<20))).toString(36)//36进制原因:数字0-9和26个字母 //前面移位20个生成的36进制是4位数,移位30是6位数(1<<30),然后自己看情况拼,要多少拼多少 //移位要在1和32之间
点赞 回复 分享
发布于 2018-03-20 22:12
我跟你差不多吧,我用的字符串。Math.round(Math.random() * (str.length - 1)),搞一个for循环
点赞 回复 分享
发布于 2018-03-20 21:54
这是春招还是暑期实习?
点赞 回复 分享
发布于 2018-03-21 18:31
哥们,大概能考多少啊
点赞 回复 分享
发布于 2018-03-21 01:07
这次前端的题大家觉得怎么样?不算难吧?
点赞 回复 分享
发布于 2018-03-20 23:07
洗牌算法, 可以呀。 可惜拼多多笔试机会都没有给我。
点赞 回复 分享
发布于 2018-03-20 21:52
不是0-9a-zA-Z+=这64个字符吗?
点赞 回复 分享
发布于 2018-03-20 21:49

相关推荐

这不纯纯作弊了吗😢😢😢
编程界菜鸡:信这个的这辈子有了,这智商你靠啥都没用
点赞 评论 收藏
分享
ZywOo_求职版:谁问你了....
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
评论
1
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务