setTimeout () - w pętli for z losowym opóźnieniem [duplikat]

Możliwy duplikat:
Zamknięcie Javascript wewnątrz pętli - prosty praktyczny przykład

Widziałem wiele postów, o których mowasetTimeout i zamknięć, ale nadal nie jestem w stanie przekazać prostego licznika pętli.

<code>for (i = 0; i < 5; i++) {
  setTimeout(function () {
    console.log(i);
  }, Math.floor(Math.random() * 1000));
}
</code>

Daje

5
5
5
5
5

Chciałbym mieć

0
1
2
3
4

Co jest nie tak ?
Proszę, nie płomień, myślałem, że zrozumiałemsetTimeout() opowieść, ale najwyraźniej nie.

questionAnswers(3)

yourAnswerToTheQuestion