Всего элементов 500 - некоторые встречаются в начале списка чаще , рандом работает как-то избирательно...
как проверить было ли это значение уже ранее ?
(instance.elemLength - длина списка собственно)
if (instance.options.random) {
for (i = instance.elemLength - 1; i > 0; i--) {
if (i == 1 && Math.random() < .5) break;
var index = Math.floor(Math.random() * i);
var temp = instance.elemArray[index];
instance.elemArray[index] = instance.elemArray[i];
instance.elemArray[i] = temp
}
for (i = 0; i < instance.elemLength; i++) instance.elemArray[i].id = i + 1
}