想要每隔一秒遍历一次数组该怎么实现呢? 下面是我自己写的一个方法,希望能够帮助到大家
主要的核心是利用 setTimeout 和 递归思路 去实现 延迟遍历数组
function Mydelayfor(arr, delayTime) {
this.arr = arr
this.delayTime = delayTime
this.setTime = null
}
Mydelayfor.prototype.foreachArr = function(arr, index, root) {
console.log(arr[index])
++index
if(index < arr.length) {
clearTimeout(root.setTime)
root.setTime = setTimeout(root.foreachArr, root.delayTime, root.arr, index, root)
} else {
clearTimeout(root.setTime)
}
}
Mydelayfor.prototype.start = function() {
clearTimeout(this.setTime)
this.setTime = setTimeout(this.foreachArr, this.delayTime, this.arr, 0, this)
}
let arr = [0, 1, 2, 3, 4]
let Delayfor = new Mydelayfor(arr, 1000)
Delayfor.start()