settimeout in a for loop javascript

JavaScript
// make sure to use "let" and not "var" if you want to capture
// the value of the external variable in a closure

  for (let i = 0; i < 5; i++) {
    setTimeout(() => console.log(i), 0);
  }var array = [1, 2, 3, 4, 5]for(var i = 0; i < array.length; i++) {  setTimeout(() => {    console.log(array[i])  }, 1000);} // i = 5function timeout() {
    setTimeout(function () {
        // Do Something Here
        // Then recall the parent function to
        // create a recursive loop.
        timeout();
    }, 1000);
}
Source

Also in JavaScript: