рони,
При всём уважении - но это, по-моему, слишком заумно. Красиво - но заумно
Чем плох вариант ТС, если его малость доработать? Ну к примеру:
for (var i = 1, num = []; i <= 30; i += 1) {
num.push("" + i);
}
for (var i = 0; i < 5; i += 1) {
var a = Math.floor(Math.random() * num.length);
document.write ("<div class='photo'><a href='/user/" + num[a] +
".html'><img src ='images/thumb_" + num[a] + ".jpg' /></a><br><br></div>");
num.splice(a,1);
};