Oppgave 4

Gjør endringer på koden i oppgave 3 slik at samme navn ikke blir plukket ut flere ganger.

Utfør denne oppgaven i to steg:

Resultat

Jeg ville skrevet navnene i en liste, så hadde jeg stryki over det navn som ble tilfeldig valgt. Et navn som er stryki kan ikke bli valgt.

Koden

JavaScript

                
window.onload = ready;

function ready() {
    showNames(); // Kjør funkjsonen med en gang
    document.getElementById("o4-get-names").onclick = showNames;
}

function showNames() {
    var output = document.getElementById("o4-new-array");

    var studentsOrg = [
        "Hans",
        "Ole",
        "Nils",
        "Olav",
        "Per",
        "Knut",
        "Kari",
        "Line",
        "Pia"
    ];

    var studentsNew = [];
    // Plukk ut 3 tilfeldig student og legg de til i array.
    for (var i = 0; i < 3; i++) {
        var random = Math.floor(Math.random() * studentsOrg.length);
        studentsNew.push(studentsOrg[random]);
        studentsOrg.splice(random, 1); // Fjern student fra orginal listen
    }

    output.value = "3 Random ulike studenter: " + studentsNew.join(", ");
    document.getElementById("o4-remaining").innerHTML = "Gjenværende studenter: " + studentsOrg.join(", ");
}
                
            

HTML

                
<div class="row input-field">
    <input id="o4-new-array" class="col s8" type="text" readonly>
    <button id="o4-get-names" class="btn black col s4">Hent navn</button>
    <p id="o4-remaining"></p>
</div>