我是用在VUE的项目中,lowRange为范围最小值,highRange为范围最大值,numArry为你要保存随机数的数组
代码如下:
changeNum() {
if (this.stop) {
return
}
this.timeOut = setTimeout(() => {
if (this.stop) {
this.numArry = this.deleteTheSameNum(this.lowRange, this.highRange, this.numArry)
if (this.timeOut) {
this.timeOut = null
clearTimeout(this.timeOut)
}
return
}
for (let i = 0; i < this.numArry.length; i++) {
this.$set(this.numArry, i, parseInt(Math.random() * this.highRange + this.lowRange))
// this.numArry[i].num = parseInt(Math.random() * this.highRange + this.lowRange)
}
this.changeNum();
}, 100);
},
deleteTheSameNum(start, end, arry) {
if (!Array.isArray(arry)) return
let newSet = new Set(arry)
if (newSet.size === arry.length) return arry
while (newSet.size !== arry.length) {
newSet.add(parseInt(Math.random() * end + start))
}
return [...newSet]
}