我是用在VUE的項(xiàng)目中,lowRange為范圍最小值,highRange為范圍最大值,numArry為你要保存隨機(jī)數(shù)的數(shù)組
代碼如下:
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]
}