1. Use regular and replace
<script>
var str = new Array(6).join("a");
var i = 0;
str.replace(/a/g, function() {
console.log(i);
i++;
})
</script>
2. Use setInterval to loop
<script>
var i = 0;
var timer = setInterval(function() {
console.log(i);
i++;
if (i == 5) {
clearInterval(timer);
}
}, 0);
</script>
3. Use setTimeout for recursion
<script>
var i = 0;
function setInterval() {
setTimeout(function() {
console.log(i++);
if (i == 5) {
return;
};
setInterval();
}, 1000);
}
setInterval();
</script>