代码如下:(别急着复制哦不然卡死浏览器)
data() {
return {
list: [], // 记录已生成随机数
}
},
methods: {
// 随机数
onRandom(){
let number;
do {
number = Math.floor(Math.random() * 10) + 1; // + 1 是指:1-10中随机数(删除:+1则是:0-10)
} while (this.list.includes(number) && this.list.length < 10); // 判断list里是否有已生成随机数,有则循环从新生成新的
this.list.push(number);
return number;
}
}
上面实现了生成随机码,已生成过的则不再生成。
注意:删除this.list.length < 10,代码片段会导致死循环:
while (this.list.includes(number) && this.list.length < 10); // 加个判断list长度小于10
list长度小于10,当10位随机数生成完后,为防止死循环则在1-10中生成随机数返回。
有点绕,相当于前面10位随机数不会出现已生成过的,则10位之后会出现,其他你们要怎么用自己加判断。