I was trying to display members' names in the div element after 3 seconds by using for loop with setTimeout() function. But I'm getting an undefined values of the names array. And even the value of var i displaying 4. I don't know why. Can anyone explain to me why and how to fix that.?
Thanks in advance!
JS Code:
function members() {
var arr = ["Joseph","John","Kumar","Shiva"];
var i;
for(i = 0; i < arr.length; i++) {
setTimeout(function() {
console.log("Member = " + i + ". " + arr[i]);
document.getElementById("Names").innerHTML = "Member = " + i + ". " + arr[i];
}, 3000);
}
}
members();
<div id="Names"></div>