Скрипт тормозит. Как решить проблему?

В примере https://jsfiddle.net/j0tqh2y3/1/ вначале работает нормально, если некоторое время подождать - время от времени картинки не успевают подгружаться. С чем это связано?

Math.round(Math.random()*arr.length)

Если рандом сгенерировал 1, то результат равен 3. Но элемента с этим индексом нет

Т.е. надо использовать floor

1 лайк

[quote=“devSkripatch, post:2, topic:1309”]
Если рандом сгенерировал 1, то результат равен 3
[/quote] - это почему он равен 3? можете объяснить?

floor не поможет

arr.length равен 3

random число 1, arr.length == 3
1*3 = 3
у массива же отсчет начинается с 0. Т.е. 0,1,2. В массиве нет элемента с индексом 3.

2 лайка

Почему?

Тогда да, это из-за округления. Я чёт помнил, что рандом включает единицу