-
Notifications
You must be signed in to change notification settings - Fork 292
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如何随机生成包含两位连续相同数字的四位验证码思路整理 #617
Comments
你对数组没研究透。
这个numbers你完全可以随机选出其中一个数字插入到某个位置。比如,选择2插入到游标1的前面。 |
要求 四位验证码 其中2个数相同且连续
|
解答方法三我还是蛮喜欢编程的,题目也有趣!
我是从流程方面来思考的,模拟出如何创造出这个数组的思路。
var indenityData = []; // 要生成的验证码的数组
var radom_index = parseInt(Math.random()*3); // 随机生成一个0~3以内的整数,在哪一次,我们要重复一次。
for (var i = 0; i < 3; i++) {
var x = parseInt(Math.random()*10); // 随机生成0~10以内的整数,要把x加入到数组里。
if (i === radom_index) {
indenityData.push(x) ;
indenityData.push(x); // 在这里,要重复一次。
}else {
indenityData.push(x); // 其他情况,就是直接加入x就行。
}
} console.log了一下,都是符合条件的^^~ 另一个想法其实,我还有另一个方法,比如:1233,1337。两位同学都是把它们看成了一个数组的4位元素,我把它看成是3个元素,即:1233和1337在一个数组里面是这样的: 这样的话,还是一样的流程,但在某一次,要添加x的时候,添加的是xx,x要变成xx。 for (var i = 0; i < 3; i++) {
var x = parseInt(Math.random()*10); // 随机生成0~10以内的整数,要把x加入到数组里。
if (i === radom_index) {
indenityData.push(x.toString() + x.toString() ) ; // 在这里,x要变成xx,但是要考虑到00出现的情况,所以这里用的是字符串。
}else {
indenityData.push(x); // 其他情况,就是直接加入x就行。
}
} |
@WangZhong2014 思路都很好。 |
如何随机生成包含两位连续相同数字的四位验证码思路整理?
最初思路:随机生成三个数字——通过操作数组游标使用concat()方法在操作游标后面加一个相同的值创建并返回一个新数组。
收获
The text was updated successfully, but these errors were encountered: