Holdaop det var et populært spørgsmål : )
- og her kommer lige et svar mere:
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Fordeling</title><style type="text/css">
body    {font:11pt verdana;}
h2    {margin:0 0 0 75px;}
h3    {margin:10px 0 0 0;}
</style><script>
Array.prototype.clone = function () {var a = new Array(); for (var property in this) {a[property] = typeof (this[property]) == 'object' ? this[property].clone() : this[property]} return a}
var barn = new Array(
"Anders","Børge","Carl","Dennis","Erik","Frank","Georg","Hans","Ib","Julius","Kurt","Lars","Monrad","Niels","Orla",
"Anette","Berta","Cecilie","Dorte","Ellen","Freja","Gyda","Helle","Iben","Julie","Karen","Lulu","Mona","Nille","Olga"
)
var poster = new Array(
    {navn : "Svinget",    antal : 5},
    {navn : "Søen",        antal : 2},
    {navn : "Marken",    antal : 4},
    {navn : "Skoven",    antal : 4},
    {navn : "Vejen",    antal : 3},
    {navn : "Gården",    antal : 5},
    {navn : "Stalden",    antal : 2},
    {navn : "Stien",    antal : 3},
    {navn : "Pladsen",    antal : 2}
)
function fordel()
    {
    var tmp = barn.clone()           // hele banden (igen)
    var s = "<h2><u>Fordeling</u></h2>"    // output
    for (var p=0;p<poster.length;p++)    // posterne fra en ende af
        {
        s += "<h3>"+poster[p].navn+"</h3>"
        var komma = ""
        for (var i=0; i<poster[p].antal; i++)
            {
            var n = Math.floor(Math.random() * tmp.length) // pluk en tilfældig
            s += komma + tmp[n]
            komma = "  +  "
            tmp.splice(n,1)    // fjern fra listen af tilbageværende
            }
        }
    document.getElementById("vis").innerHTML = s+"<hr><a href='java script:fordel()'>Omfordel</a>"
    }
</script></head><body>
<div id="vis"><a href="java script:fordel()">Fordel</a></div>
</body></html>