实现随机生成四个数字,要求:
0,1,4,7 不能同时出现,例如 1234。
不能同时出现两个以上相同数字,例如 5255
下面我的实现方法,总觉得有些麻烦了
let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
let num = []
let count = 0
while(count < 4) {
let rand = Math.floor( Math.random() * arr.length )
let data = arr[rand];
/*
* 实现不能同时出现相同数字
* if(num.indexOf(data) !== -1) {
* continue
* }
**/
// ------------
// 中间这部分实现 最多两个数字相同
let sn = 0
num.forEach((e) => {
if (data == e) {
sn ++
}
})
if (sn >= 2) {
continue
}
// --------------
num.push(data)
count ++
if (data === 0 || data === 1 || data === 4 || data === 7) {
arr = [2, 3, 5, 6, 8, 9]
}
}
num = num.toString().split(',').join('')
网友评论