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

一直没想出来怎么做,楼主笨笨的写了个数组,然后生成随机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
我跟你差不多吧,我用的字符串。Math.round(Math.random() * (str.length - 1)),搞一个for循环
点赞 回复
分享
发布于 2018-03-20 21:54
阅文集团
校招火热招聘中
官网直投
用位操作+进制转换 (~~(Math.random()*(1<<20))).toString(36)//36进制原因:数字0-9和26个字母 //前面移位20个生成的36进制是4位数,移位30是6位数(1<<30),然后自己看情况拼,要多少拼多少 //移位要在1和32之间
点赞 回复
分享
发布于 2018-03-20 22:12
我一个小时做完了三七,赶过来还剩半小时正好做到拼多多这题😂😂😂
点赞 回复
分享
发布于 2018-03-20 23:27
不是0-9a-zA-Z+=这64个字符吗?
点赞 回复
分享
发布于 2018-03-20 21:49
洗牌算法, 可以呀。 可惜拼多多笔试机会都没有给我。
点赞 回复
分享
发布于 2018-03-20 21:52
这次前端的题大家觉得怎么样?不算难吧?
点赞 回复
分享
发布于 2018-03-20 23:07
哥们,大概能考多少啊
点赞 回复
分享
发布于 2018-03-21 01:07
这是春招还是暑期实习?
点赞 回复
分享
发布于 2018-03-21 18:31

相关推荐

点赞 评论 收藏
转发
1 10 评论
分享
牛客网
牛客企业服务